:root{
  --red:#E11D24;--red-hover:#F02C33;--red-pressed:#BE1016;--yellow:#F8C91C;
  --bg:#0f0f10;--panel:#1b1b1d;--panel2:#232326;--panel3:#29292d;--border:#343438;
  --text:#f7f7f8;--muted:#9d9da7;--success:#3ccf91;--warning:#f1b44c;--danger:#ef5b5b;--info:#5ea4ff;
  --shadow:0 10px 30px rgba(0,0,0,.22);--radius:18px
}
.light{--bg:#f3f5f8;--panel:#fff;--panel2:#f8f9fb;--panel3:#eff1f5;--border:#e1e4ea;--text:#14161a;--muted:#6e7581;--shadow:0 8px 26px rgba(25,30,45,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}
.hidden{display:none!important}.muted{color:var(--muted)}.danger{color:var(--danger)}.success{color:var(--success)}.warning{color:var(--warning)}.small{font-size:12px}.nowrap{white-space:nowrap}.grow{flex:1}.right{text-align:right}.center{text-align:center}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top left,#3b0f12 0,transparent 28%),var(--bg)}
.auth-card{width:min(520px,100%);background:var(--panel);border:1px solid var(--border);border-radius:24px;padding:30px;box-shadow:var(--shadow)}
.auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:28px}.brand-mark{width:64px;height:56px;border-radius:16px;background:transparent;display:flex;align-items:center;justify-content:center;overflow:visible;color:#fff;flex:0 0 auto}.brand-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.auth-brand .brand-mark{width:72px;height:58px}.auth-brand .brand-logo img{max-width:72px;max-height:58px;transform:none}.auth-brand h1{margin:0;font-size:24px}.auth-brand h1 span{color:var(--red)}.auth-brand p{margin:3px 0 0;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.input,.select,.textarea{width:100%;border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:13px;padding:12px 13px;outline:none;transition:.15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 16%,transparent)}.textarea{min-height:84px;resize:vertical}.check{display:flex;gap:9px;align-items:center;color:var(--muted)}
.btn{border:0;border-radius:13px;padding:11px 15px;font-weight:800;transition:.15s;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--red);color:#fff}.btn.primary:hover{background:var(--red-hover)}.btn.primary:active{background:var(--red-pressed)}.btn.secondary{background:var(--panel3);color:var(--text);border:1px solid var(--border)}.btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn.danger{background:#4b1719;color:#ffb0b0;border:1px solid #7a2529}.btn.small{padding:8px 10px;font-size:12px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.block{width:100%}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:276px;background:#1d1d1f;border-right:1px solid #303034;z-index:30;display:flex;flex-direction:column;transition:.2s}.sidebar.closed{transform:translateX(-100%)}.side-company{padding:20px 18px 16px;border-bottom:1px solid #303034;display:flex;gap:12px;align-items:center}.side-company .brand-mark{width:48px;height:42px;border-radius:12px}.side-company .brand-logo img{max-width:48px;max-height:42px;transform:none}.side-company b{display:block;color:#fff}.side-company small{display:block;color:#999;margin-top:3px;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-nav{padding:10px;overflow:auto;flex:1}.nav-btn{width:100%;display:flex;align-items:center;gap:11px;border:0;background:transparent;color:#aaa;padding:11px 12px;border-radius:12px;text-align:left;margin:2px 0}.nav-btn:hover,.nav-btn.active{background:var(--red);color:#fff}.nav-btn .ico{width:22px;text-align:center}.side-footer{padding:10px;border-top:1px solid #303034}.main{margin-left:276px;min-height:100vh;transition:.2s}.main.full{margin-left:0}.topbar{height:84px;background:color-mix(in srgb,var(--panel) 96%,#000);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:16px;padding:0 24px;position:sticky;top:0;z-index:20}.menu-toggle{border:0;background:transparent;color:var(--text);font-size:23px}.top-brand{font-size:18px;font-weight:900;letter-spacing:.02em}.top-brand span{color:var(--red)}.crumb{color:var(--muted);font-size:14px}.global-search{margin-left:auto;width:min(440px,34vw);height:42px;border:1px solid var(--border);background:var(--panel2);border-radius:14px;display:flex;align-items:center;padding:0 13px;gap:8px}.global-search input{border:0;background:transparent;color:var(--text);outline:0;width:100%}.avatar{width:36px;height:36px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:900}.user-chip{display:flex;align-items:center;gap:9px}.user-chip small{display:block;color:var(--muted)}.theme-btn{border:1px solid var(--border);background:var(--panel2);color:var(--text);width:40px;height:40px;border-radius:12px}.content{padding:24px;max-width:1600px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head h1{margin:0;font-size:28px}.page-head p{margin:5px 0 0;color:var(--muted)}
.hero{background:linear-gradient(135deg,var(--red),#aa1117);border-radius:22px;padding:28px;color:#fff;box-shadow:var(--shadow);margin-bottom:24px}.hero small{opacity:.9}.hero h1{margin:6px 0;font-size:31px}.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.module-card{min-height:170px;background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:18px;transition:.16s;cursor:pointer}.module-card:hover{transform:translateY(-3px);border-color:#555;box-shadow:var(--shadow)}.module-card .icon{width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--red) 16%,var(--panel));color:var(--red);display:grid;place-items:center;font-size:22px}.module-card h3{margin:18px 0 6px}.module-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.card{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:16px}.card-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.card-title h3{margin:0;font-size:16px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.toolbar .input,.toolbar .select{width:auto;min-width:220px}.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.stat{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px}.stat span{color:var(--muted);font-size:12px;text-transform:uppercase;font-weight:800}.stat b{display:block;font-size:23px;margin-top:8px}.stat em{font-style:normal;color:var(--muted);font-size:12px}
.table-wrap{overflow:auto;border:1px solid var(--border);border-radius:15px}.table{width:100%;border-collapse:collapse;min-width:780px}.table th,.table td{padding:12px 13px;border-bottom:1px solid var(--border);text-align:left}.table th{background:var(--panel2);color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.table tbody tr:hover{background:color-mix(in srgb,var(--panel2) 50%,transparent)}.table tr:last-child td{border-bottom:0}.tag{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;background:var(--panel3);color:var(--muted)}.tag.ok{background:#17382a;color:#78e1ad}.tag.bad{background:#40191b;color:#ff9ca0}.tag.warn{background:#46371c;color:#ffd275}.tag.info{background:#172d47;color:#8ac2ff}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.product-card{background:var(--panel);border:1px solid var(--border);border-radius:18px;overflow:hidden}.product-img{height:120px;background:var(--panel2);display:grid;place-items:center;font-size:40px;color:#777}.product-body{padding:15px}.product-body h3{margin:0 0 4px}.product-meta{color:var(--muted);font-size:12px}.product-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.product-price{font-size:19px;color:var(--red);font-weight:900}.actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.pdv-layout{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:16px}.cash-strip{display:flex;justify-content:space-between;gap:10px;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:13px 15px;margin-bottom:14px}.search-panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:16px}.search-box{border:2px solid var(--red);border-radius:15px;display:flex;align-items:center;gap:8px;padding:0 13px;height:48px}.search-box input{border:0;background:transparent;color:var(--text);outline:0;width:100%}.search-results{margin-top:10px;display:grid;gap:7px}.search-result{border:1px solid var(--border);background:var(--panel2);border-radius:13px;padding:11px 12px;display:flex;justify-content:space-between;gap:12px;cursor:pointer}.search-result:hover{border-color:var(--red)}.cart{background:var(--panel);border:1px solid var(--border);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;max-height:calc(100vh - 132px);position:sticky;top:100px}.cart-head{padding:15px;border-bottom:1px solid var(--border)}.cart-list{overflow:auto;flex:1}.cart-item{padding:13px;border-bottom:1px solid var(--border)}.cart-item-top{display:flex;justify-content:space-between;gap:10px}.cart-controls{display:grid;grid-template-columns:70px 1fr 1fr 40px;gap:7px;margin-top:9px}.cart-controls .input{padding:8px 9px}.cart-total{padding:15px;border-top:1px solid var(--border)}.sum-row{display:flex;justify-content:space-between;margin:8px 0;color:var(--muted)}.sum-row.total{color:var(--text);font-size:19px;font-weight:900}.sum-row.total b{color:var(--red)}
.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:100;display:grid;place-items:center;padding:20px}.modal{width:min(760px,100%);max-height:92vh;overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.modal.wide{width:min(1100px,100%)}.modal-head{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.modal-head h2{margin:0;font-size:20px}.modal-body{padding:20px}.modal-foot{padding:16px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:9px}.close-x{border:0;background:transparent;color:var(--muted);font-size:22px}
.list-card{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);background:var(--panel2);border-radius:14px;padding:12px;margin-bottom:8px}.list-card h4{margin:0 0 4px}.empty{padding:36px;text-align:center;color:var(--muted)}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900;margin:18px 0 10px}.divider{height:1px;background:var(--border);margin:16px 0}.money-big{font-size:25px;font-weight:900;color:var(--red)}
.toast-wrap{position:fixed;right:20px;bottom:20px;z-index:200;display:grid;gap:8px}.toast{min-width:260px;max-width:420px;background:#262629;color:#fff;border:1px solid #3c3c41;border-left:4px solid var(--red);padding:12px 14px;border-radius:12px;box-shadow:var(--shadow)}.toast.ok{border-left-color:var(--success)}.toast.bad{border-left-color:var(--danger)}
.receipt{background:#fff;color:#111;padding:28px;font-family:Arial,sans-serif}.receipt-head{display:flex;justify-content:space-between;border-bottom:2px solid #222;padding-bottom:14px}.receipt h1,.receipt h2,.receipt h3{margin:0}.receipt table{width:100%;border-collapse:collapse;margin-top:16px}.receipt th,.receipt td{border-bottom:1px solid #ddd;padding:8px;text-align:left}.receipt th{background:#f2f2f2}.receipt-total{text-align:right;font-size:20px;font-weight:900;margin-top:16px}
@media(max-width:1200px){.module-grid,.product-grid{grid-template-columns:repeat(3,1fr)}.stat-grid{grid-template-columns:repeat(3,1fr)}.pdv-layout{grid-template-columns:1fr}.cart{position:static;max-height:none}}
@media(max-width:900px){.sidebar{transform:translateX(-100%)}.sidebar.mobile-open{transform:translateX(0)}.main{margin-left:0}.global-search{display:none}.module-grid,.product-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.split,.three{grid-template-columns:1fr}.topbar{padding:0 14px}.content{padding:16px}.stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.module-grid,.product-grid,.stat-grid{grid-template-columns:1fr}.user-chip b,.user-chip small,.crumb{display:none}.page-head{align-items:stretch;flex-direction:column}.toolbar .input,.toolbar .select{width:100%;min-width:0}}
@media print{body>*:not(.print-root){display:none!important}.print-root{display:block!important}.receipt{padding:0}}

.link-btn{background:none;border:0;color:var(--muted-foreground);cursor:pointer;font:inherit;text-decoration:underline}.link-btn:hover{color:var(--foreground)}

.setup-card{width:min(720px,100%)}
.welcome-screen{position:fixed;inset:0;z-index:9999;background:#fff;color:#202124;display:grid;place-items:center;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.welcome-center{text-align:center;animation:welcomeFade .35s ease-out}.welcome-logo{width:180px;height:132px;margin:0 auto 16px;display:flex;align-items:center;justify-content:center;overflow:visible}.welcome-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;animation:welcomeFloat 1.25s ease-in-out infinite alternate}
.welcome-center h1{font-size:25px;margin:0 0 12px;color:#23252a}.welcome-name{font-size:17px;color:var(--red);font-weight:800}.welcome-center p{margin:24px 0 10px;color:#666;font-size:13px}.welcome-loader{display:flex;justify-content:center;gap:5px}.welcome-loader span{width:6px;height:6px;border-radius:50%;background:var(--red);animation:welcomeDot .8s infinite alternate}.welcome-loader span:nth-child(2){animation-delay:.18s}.welcome-loader span:nth-child(3){animation-delay:.36s}
@keyframes welcomeFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes welcomeFloat{from{transform:translateY(-2px)}to{transform:translateY(4px)}}@keyframes welcomeDot{from{opacity:.25;transform:scale(.8)}to{opacity:1;transform:scale(1.1)}}
.company-logo-preview{min-height:92px;border:1px dashed var(--border);border-radius:14px;background:var(--panel2);display:flex;align-items:center;justify-content:center;padding:12px;color:var(--muted);margin-top:4px}.company-logo-preview img{max-width:220px;max-height:86px;object-fit:contain}
.lookup-status{min-height:16px;font-size:11px;color:var(--muted);text-transform:none;letter-spacing:0}.lookup-status.ok{color:var(--success)}

.dev-banner{position:fixed;top:0;left:0;right:0;z-index:10000;height:26px;display:flex;align-items:center;justify-content:center;background:#f8c91c;color:#111;font-size:11px;font-weight:900;letter-spacing:.08em}.dev-banner[hidden]{display:none!important}.app-shell,.auth-shell{padding-top:0}.topbar{top:0}.welcome-screen{top:0}body.dev-environment .app-shell,body.dev-environment .auth-shell{padding-top:26px}body.dev-environment .topbar{top:26px}body.dev-environment .welcome-screen{top:26px}

/* Authentication experience */
.auth-shell-split{display:block;place-items:initial;padding-left:clamp(28px,6vw,92px);padding-right:clamp(28px,6vw,92px)}
.auth-split{width:min(1180px,100%);min-height:calc(100vh - 74px);margin:0 auto;display:grid;grid-template-columns:minmax(390px,500px) minmax(430px,1fr);align-items:center;gap:clamp(44px,7vw,100px)}
.auth-card-login{width:100%}
.auth-showcase{padding:46px 24px 46px 12px;max-width:610px}
.auth-showcase-kicker{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.18em;margin-bottom:14px}
.auth-showcase h2{font-size:clamp(34px,4.2vw,58px);line-height:1.02;margin:0 0 18px;max-width:590px}
.auth-showcase>p{color:var(--muted);font-size:17px;line-height:1.65;max-width:570px;margin:0 0 30px}
.auth-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.auth-feature-list>div{position:relative;background:color-mix(in srgb,var(--panel) 82%,transparent);border:1px solid var(--border);border-radius:16px;padding:17px 17px 17px 46px;min-height:112px}
.auth-feature-list span{position:absolute;left:16px;top:17px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 20%,transparent);color:var(--red);font-weight:900}
.auth-feature-list b{display:block;font-size:14px;margin-bottom:6px}
.auth-feature-list small{display:block;color:var(--muted);line-height:1.45}
.auth-showcase-foot{margin-top:22px;color:var(--muted);font-size:13px}
.password-wrap{position:relative}.password-wrap .input{padding-right:50px}
.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:38px;height:34px;border:0;border-radius:9px;background:transparent;color:var(--muted);display:grid;place-items:center;font-size:16px}
.password-toggle:hover{background:var(--panel3);color:var(--text)}
.logo-guidance{font-size:11px;line-height:1.5;color:var(--muted);text-transform:none;letter-spacing:0;margin-top:2px}
.logo-guidance b{color:var(--text)}
.company-logo-preview{height:150px;min-height:150px}
.company-logo-preview img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
@media(max-width:900px){
  .auth-shell-split{padding-left:18px;padding-right:18px}
  .auth-split{display:block;min-height:auto;max-width:560px;padding:34px 0;margin:0 auto}
  .auth-showcase{display:none}
}
@media(max-width:560px){
  .auth-card{padding:24px 20px}
  .auth-brand .brand-mark{width:58px;height:50px}
  .auth-brand .brand-logo img{max-width:58px;max-height:50px}
}

/* Pronto Flux system mark: keep it perfectly square */
.brand-mark.brand-logo{aspect-ratio:1/1;overflow:visible}
.brand-mark.brand-logo img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;object-position:center;transform:none}
.auth-brand .brand-mark{width:56px;height:56px;flex:0 0 56px}
.auth-brand .brand-logo img{width:56px;height:56px;max-width:none;max-height:none}
.side-company .brand-mark{width:44px;height:44px;flex:0 0 44px}
.side-company .brand-logo img{width:44px;height:44px;max-width:none;max-height:none}
.welcome-logo{width:112px;height:112px}
.welcome-logo img{width:112px;height:112px;max-width:none;max-height:none;object-fit:contain}


/* ===== 2026-09-26 DEV improvements ===== */
.light .sidebar{background:var(--panel);border-right-color:var(--border)}
.light .side-company,.light .side-footer{border-color:var(--border)}
.light .side-company b{color:var(--text)}
.light .side-company small{color:var(--muted)}
.light .nav-btn{color:var(--muted)}
.light .nav-btn:hover,.light .nav-btn.active{color:#fff;background:var(--red)}

.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:29}
.sidebar-overlay.show{display:block}

.module-card{position:relative}
.module-hotkey{position:absolute;right:14px;top:14px;font-size:11px;font-weight:900;color:var(--muted);letter-spacing:.04em}

.tutorial-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:12000;display:grid;place-items:center;padding:18px}
.tutorial-card{width:min(620px,100%);background:var(--panel);border:1px solid var(--border);border-radius:22px;padding:28px;box-shadow:var(--shadow)}
.tutorial-card h2{margin:6px 0 10px;font-size:26px}
.tutorial-card p{color:var(--muted);line-height:1.65;margin:0 0 24px}
.tutorial-progress{font-size:11px;font-weight:900;color:var(--red);letter-spacing:.12em}
.tutorial-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}
.tutorial-actions>div{display:flex;gap:8px}

.product-form-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:-4px 0 18px}
.product-form-tabs button{border:1px solid var(--border);background:var(--panel3);color:var(--muted);font-weight:900;padding:12px;border-radius:12px}
.product-form-tabs button.active{background:var(--red);border-color:var(--red);color:#fff}
.product-edit-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}
.product-image-editor{display:grid;gap:9px}
.product-image-preview{height:220px;border:1px dashed var(--border);border-radius:16px;background:var(--panel2);display:grid;place-items:center;overflow:hidden;color:var(--muted)}
.product-image-preview img,.product-img img{width:100%;height:100%;object-fit:contain}
.input-action{display:flex;gap:8px;align-items:center}
.input-action .input{flex:1}
.price-stock-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}
.profit-preview{margin-top:14px;padding:12px 14px;border-radius:12px;background:color-mix(in srgb,var(--success) 12%,var(--panel2));color:var(--text);font-weight:700}
.stock-big{font-size:22px;font-weight:900;color:var(--red)}

.stock-manager{display:grid;gap:16px}
.stock-summary{display:grid;grid-template-columns:1fr auto;gap:16px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--panel2)}
.stock-summary span,.stock-result span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800}
.stock-summary b,.stock-result b{display:block;margin-top:4px}
.stock-adjust-card{display:grid;grid-template-columns:1.2fr .7fr;gap:14px;padding:16px;border:1px solid var(--border);border-radius:14px;background:var(--panel2)}
.stock-adjust-card .stock-result,.stock-adjust-card .field.full,.stock-adjust-card .btn{grid-column:1/-1}
.stock-result{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:12px;border-radius:12px;background:var(--panel)}
.stock-result>div:last-child{border:1px solid color-mix(in srgb,var(--success) 55%,var(--border));border-radius:10px;padding:10px}
.stock-history-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}
.stock-history-toolbar .select{width:min(260px,100%)}

.finance-accounts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}
.account-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.account-card span,.account-card small{display:block;color:var(--muted);font-size:11px}
.account-card h3{margin:5px 0 12px}
.account-card b{display:block;font-size:24px;margin-bottom:6px}
.finance-filters{margin:14px 0}
.finance-filters .select{width:auto;min-width:220px}

.import-types{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.import-type{border:1px solid var(--border);background:var(--panel);color:var(--muted);padding:10px 15px;border-radius:12px;font-weight:800}
.import-type.active{background:var(--red);border-color:var(--red);color:#fff}
.import-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:8px 0 18px}
.import-steps span{padding:10px;text-align:center;border-bottom:3px solid var(--border);color:var(--muted);font-size:12px;font-weight:800}
.import-steps span.active{border-color:var(--red);color:var(--text)}
.import-panel{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:22px;text-align:center}
.import-panel h2{margin:0 0 6px}
.import-panel>p{color:var(--muted);margin:0 0 18px}
.import-drop{min-height:190px;border:2px dashed var(--border);border-radius:16px;background:var(--panel2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:20px}
.import-drop b{font-size:38px;color:var(--red)}
.import-drop strong{font-size:16px}
.import-drop span,.import-drop small{color:var(--muted)}
.import-drop input{display:none}
.import-info{text-align:left;margin:16px 0;padding:14px;border-left:4px solid var(--success);background:color-mix(in srgb,var(--success) 8%,var(--panel2));border-radius:10px;line-height:1.7}
.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;text-align:left;margin-bottom:18px}

@media(max-width:900px){
  .sidebar{z-index:30}
  .sidebar.closed{transform:translateX(-100%)}
  .sidebar.mobile-open{transform:translateX(0)!important}
  .product-edit-grid,.price-stock-grid{grid-template-columns:1fr}
  .product-image-editor{max-width:320px}
  .finance-accounts{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .tutorial-actions{align-items:stretch;flex-direction:column}
  .tutorial-actions>div{width:100%}.tutorial-actions .btn{flex:1}
  .finance-accounts,.mapping-grid,.import-steps{grid-template-columns:1fr}
  .stock-adjust-card{grid-template-columns:1fr}
  .product-form-tabs{grid-template-columns:1fr}
}


/* ===== Produto/Serviço + editor de imagem + tutorial guiado ===== */
.price-stock-grid.service-mode{grid-template-columns:1fr}
.profit-grid{display:grid;gap:8px;margin-top:14px}
.profit-row{display:grid;grid-template-columns:90px repeat(3,minmax(0,1fr));gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--panel2);font-size:13px}
.profit-row strong{color:var(--text)}
.product-image-preview img{width:100%;height:100%;object-fit:contain;object-position:center}
.image-editor{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.image-editor-canvas-wrap{background:#fff;border:1px solid var(--border);border-radius:16px;overflow:hidden;display:grid;place-items:center;max-height:68vh}
.image-editor-canvas-wrap canvas{width:min(100%,620px);height:auto;aspect-ratio:1/1;display:block}
.image-editor-controls{display:grid;gap:12px}
.image-editor-controls input[type="range"]{padding:0}
.tutorial-backdrop{position:fixed;inset:0;z-index:12000;background:transparent;display:block;pointer-events:none}
.tutorial-backdrop.centered{background:rgba(0,0,0,.72);display:grid;place-items:center;padding:18px}
.tutorial-spotlight{position:fixed;display:none;border:3px solid var(--red);border-radius:18px;box-shadow:0 0 0 9999px rgba(0,0,0,.78),0 0 0 6px rgba(215,25,32,.18);z-index:1;pointer-events:none;transition:all .18s ease}
.tutorial-card{position:fixed;z-index:2;pointer-events:auto;width:min(520px,calc(100vw - 40px));background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:26px;box-shadow:var(--shadow)}
.tutorial-backdrop.centered .tutorial-card{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important}
@media(max-width:760px){
  .image-editor{grid-template-columns:1fr}
  .profit-row{grid-template-columns:1fr 1fr}
  .tutorial-card{max-height:52vh;overflow:auto}
}


/* ===== Ajustes de UX 26/09/2026 ===== */
.product-card-clean{padding:14px;overflow:visible}
.product-card-main{display:grid;grid-template-columns:82px minmax(0,1fr);gap:14px;align-items:start}
.product-thumb{width:82px;height:82px;border-radius:12px;border:1px solid var(--border);background:var(--panel2);display:grid;place-items:center;overflow:hidden;font-size:26px;color:var(--muted)}
.product-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
.product-info{min-width:0}
.product-info h3{margin:0 0 6px;font-size:16px;line-height:1.25;color:var(--text)}
.product-card-data{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin-top:12px;font-size:12px;color:var(--muted)}
.product-card-data b{font-size:18px;color:var(--red)}
.product-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}

.search-result-main{display:flex;align-items:center;gap:10px;min-width:0}
.search-result-thumb{width:48px;height:48px;border-radius:9px;border:1px solid var(--border);background:var(--panel);display:grid;place-items:center;overflow:hidden;flex:0 0 48px}
.search-result-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
.search-result-thumb span{color:var(--muted);font-size:22px}

.customer-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:-4px 0 18px}
.customer-tabs button{border:1px solid var(--border);background:var(--panel3);color:var(--muted);font-weight:900;padding:11px 8px;border-radius:11px;font-size:12px}
.customer-tabs button.active{background:var(--red);border-color:var(--red);color:#fff}
.customer-main-grid{display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px}
.customer-side{display:grid;align-content:start;gap:10px}
.customer-photo{height:190px;border:1px dashed var(--border);border-radius:18px;background:var(--panel2);display:grid;place-items:center;overflow:hidden}
.customer-photo span{font-size:72px;opacity:.55}
.customer-photo img{width:100%;height:100%;object-fit:contain;background:#fff}
.customer-fields{min-width:0}
.lookup-note{padding:11px 13px;border-radius:11px;background:var(--panel2);border:1px solid var(--border);color:var(--muted);font-size:12px;line-height:1.45;margin-top:8px}
.form-grid .full.lookup-note{grid-column:1/-1}

.cart-controls{grid-template-columns:minmax(70px,1fr) minmax(95px,1fr) minmax(95px,1fr) 40px}
.cart-controls>.select[data-price]{grid-column:1/-1}

@media(max-width:760px){
  .product-card-main{grid-template-columns:68px minmax(0,1fr)}
  .product-thumb{width:68px;height:68px}
  .customer-tabs{grid-template-columns:1fr 1fr}
  .customer-main-grid{grid-template-columns:1fr}
  .customer-side{grid-template-columns:120px minmax(0,1fr);align-items:start}
  .customer-photo{width:120px;height:120px}
  .customer-side .check{grid-column:1/-1}
  .cart-controls{grid-template-columns:1fr 1fr}
  .cart-controls .btn.danger{grid-column:auto}
}


/* ===== Editor visual de recorte ===== */
.crop-editor{display:grid;gap:12px}
.crop-toolbar{display:flex;gap:8px;flex-wrap:wrap}
.crop-help{color:var(--muted);font-size:12px}
.crop-stage{position:relative;width:100%;height:min(62vh,620px);min-height:360px;background:#191a1f;border:1px solid var(--border);border-radius:16px;overflow:hidden;touch-action:none}
.crop-stage canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}
.crop-stage canvas:active{cursor:grabbing}
.crop-frame{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px rgba(0,0,0,.48),0 0 0 2px rgba(215,25,32,.85);cursor:move;touch-action:none}
.crop-frame::before,.crop-frame::after{content:"";position:absolute;pointer-events:none}
.crop-frame::before{left:33.333%;top:0;bottom:0;width:33.333%;border-left:1px dashed rgba(255,255,255,.65);border-right:1px dashed rgba(255,255,255,.65)}
.crop-frame::after{top:33.333%;left:0;right:0;height:33.333%;border-top:1px dashed rgba(255,255,255,.65);border-bottom:1px dashed rgba(255,255,255,.65)}
.crop-handle{position:absolute;width:18px;height:18px;background:#fff;border:3px solid var(--red);border-radius:50%;z-index:2}
.crop-handle.nw{left:-10px;top:-10px;cursor:nwse-resize}.crop-handle.ne{right:-10px;top:-10px;cursor:nesw-resize}
.crop-handle.sw{left:-10px;bottom:-10px;cursor:nesw-resize}.crop-handle.se{right:-10px;bottom:-10px;cursor:nwse-resize}
@media(max-width:700px){.crop-stage{height:52vh;min-height:300px}}


/* ===== Caixa detalhado ===== */
.cash-stat-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.cash-card{border:1px solid var(--border);background:var(--panel2);border-radius:16px;padding:15px;margin-bottom:12px}
.cash-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.cash-card-head h4{margin:0 0 4px}
.cash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px}
.cash-metrics>div{border:1px solid var(--border);background:var(--panel);border-radius:11px;padding:10px}
.cash-metrics span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}
.cash-metrics b{display:block;margin-top:5px;font-size:14px}
.cash-metrics .cash-total{color:var(--red);font-size:17px}
.cash-methods{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.cash-methods>span{border:1px solid var(--border);background:var(--panel);border-radius:999px;padding:6px 9px;color:var(--muted);font-size:11px}
.cash-methods b{color:var(--text);margin-left:4px}
.cash-close-summary{display:flex;gap:18px;flex-wrap:wrap;margin-top:11px;padding:9px 11px;border-radius:10px;background:var(--panel)}
.cash-actions{justify-content:flex-end}
@media(max-width:1000px){.cash-stat-grid{grid-template-columns:repeat(3,1fr)}.cash-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.cash-stat-grid,.cash-metrics{grid-template-columns:1fr}.cash-card-head{flex-direction:column}}


/* ===== Cards de produtos estilo comercial + menu Opções ===== */
.product-card-standard{position:relative;padding:15px;overflow:visible;min-height:260px}
.product-comercial-top{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:start}
.product-card-thumb{width:64px;height:64px;border-radius:10px;border:1px solid var(--border);background:var(--panel2);display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:24px}
.product-card-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
.product-card-head{min-width:0}
.product-card-head h3{margin:0 0 5px;font-size:16px;line-height:1.2;color:var(--text);word-break:break-word}
.product-card-price{display:block;margin-top:14px;font-size:22px;line-height:1;font-weight:900;color:var(--red);white-space:nowrap}
.product-card-divider{height:1px;background:var(--border);margin:12px 0}
.product-card-info{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;font-size:11px;color:var(--text)}
.product-card-info>div{display:flex;gap:7px;align-items:center;min-width:0}
.product-card-info>div span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-info-icon{width:16px;height:16px;display:grid;place-items:center;flex:0 0 16px;font-size:10px;font-weight:900;color:var(--text)}
.product-card-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-top:16px}
.product-options-wrap{position:relative;margin-left:auto}
.product-options-btn{border:1px solid var(--border);background:var(--panel3);color:var(--text);font-weight:900;font-size:11px;padding:9px 12px;border-radius:999px;cursor:pointer}
.product-options-btn:hover{border-color:var(--red)}
.product-options-menu{display:none;position:absolute;right:0;bottom:calc(100% + 8px);z-index:40;min-width:190px;padding:6px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}
.product-options-menu.open{display:grid}
.product-options-menu button{border:0;background:transparent;color:var(--text);text-align:left;padding:10px 11px;border-radius:8px;cursor:pointer;font:inherit;font-size:12px}
.product-options-menu button:hover{background:var(--panel3)}
.product-options-menu button:disabled{opacity:.45;cursor:not-allowed}
.product-options-menu button:disabled:hover{background:transparent}

@media(max-width:760px){
  .product-card-info{grid-template-columns:1fr}
  .product-card-standard{min-height:auto}
}


/* ===== Feedback final: produtos, vendas, WhatsApp e comprovante público ===== */
.product-card-price{color:var(--text)!important}

.wa-icon{width:22px;height:22px;display:block;flex:0 0 22px}
.wa-input-row{display:flex;gap:8px;align-items:stretch}
.wa-input-row .input{flex:1}
.wa-pull-btn,.wa-logo{width:48px;min-width:48px;border-radius:12px;display:grid;place-items:center}
.wa-pull-btn{border:1px solid var(--border);background:#25D366;color:#fff;cursor:pointer}
.wa-pull-btn:hover{filter:brightness(.95)}
.wa-logo{background:#25D366;color:#fff}
.wa-share-btn{width:100%;margin-top:14px;border:0;border-radius:12px;background:#25D366;color:#fff;font-weight:900;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer}
.wa-share-btn.compact{width:auto;margin:0;padding:10px 14px}
.wa-share-btn:hover{filter:brightness(.94)}

.table-link{border:0;background:transparent;padding:0;color:#2ea8ff;text-decoration:underline;cursor:pointer;font:inherit;font-weight:800}
.table-link:hover{opacity:.82}
.stock-history-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:18px}
.stock-history-head .section-title{margin:0}
.stock-history-head .select{width:min(260px,100%)}
.stock-history-table th,.stock-history-table td{white-space:nowrap}
.stock-history-table td:first-child{white-space:normal}
.stock-in{color:#2fb36c}
.stock-out{color:#ef4b4b}

.sale-detail-head{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px}
.sale-detail-head>div,.sale-customer-grid>div{display:grid;gap:5px}
.sale-detail-head span,.sale-customer-grid span{color:var(--muted);font-size:11px;text-transform:uppercase;font-weight:800}
.sale-customer{margin-bottom:14px}
.sale-customer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sale-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}
.sale-kpis .stat{min-height:92px}
.manage-sale-warning{padding:12px 14px;margin-bottom:14px;border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.08);border-radius:12px;color:var(--text);font-size:12px;line-height:1.5}
.return-qty{min-width:100px;max-width:140px}

.public-receipt-loading{min-height:100vh;display:grid;place-items:center;background:#f3f4f6;color:#111;font:600 15px Arial,sans-serif}
.public-sale-page{min-height:100vh;background:#f3f4f6;color:#111;padding:26px 14px;font-family:Arial,sans-serif}
.public-sale-card{width:min(980px,100%);margin:auto;background:#fff;border-radius:18px;padding:28px;box-shadow:0 12px 40px rgba(0,0,0,.08)}
.public-company{text-align:center;padding-bottom:18px;border-bottom:1px solid #ddd}
.public-company img{display:block;max-width:210px;max-height:92px;object-fit:contain;margin:0 auto 10px}
.public-company h1{margin:0 0 5px;font-size:24px}
.public-company>div{font-size:12px;line-height:1.55;color:#444}
.public-status{width:max-content;margin:14px auto;padding:7px 13px;border-radius:999px;font-size:12px;font-weight:900}
.public-status.ok{background:#dcfce7;color:#166534}
.public-status.warn{background:#fef3c7;color:#92400e}
.public-status.bad{background:#fee2e2;color:#991b1b}
.public-sale-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.public-sale-meta>div{border:1px solid #e5e7eb;border-radius:10px;padding:10px}
.public-sale-meta span{display:block;font-size:10px;color:#6b7280;text-transform:uppercase;font-weight:800;margin-bottom:4px}
.public-sale-card section h2{font-size:15px;margin:22px 0 9px;color:#111}
.public-table{color:#111}
.public-table th{background:#f3f4f6;color:#111}
.public-table td{color:#111}
.public-return-note{padding:12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;color:#9a3412}
.public-totals{margin-top:18px;border-top:2px solid #111;padding-top:12px}
.public-totals>div{display:flex;justify-content:space-between;padding:5px 0}
.public-totals .grand{font-size:20px;font-weight:900;padding-top:10px}
.public-actions{display:flex;justify-content:center;margin-top:24px}
.public-actions .btn{min-width:220px}

@media(max-width:900px){
  .sale-detail-head,.sale-customer-grid{grid-template-columns:1fr 1fr}
  .sale-kpis{grid-template-columns:repeat(3,1fr)}
  .public-sale-meta{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .stock-history-head{align-items:stretch;flex-direction:column}
  .stock-history-head .select{width:100%}
  .sale-detail-head,.sale-customer-grid,.sale-kpis,.public-sale-meta{grid-template-columns:1fr}
  .page-head .actions{width:100%;display:grid;grid-template-columns:1fr}
  .wa-share-btn.compact{width:100%}
  .public-sale-card{padding:18px;border-radius:12px}
}
@media print{
  .public-sale-page{padding:0;background:#fff}
  .public-sale-card{box-shadow:none;border-radius:0;width:100%;padding:0}
  .public-actions{display:none!important}
}


/* ===== Organização lateral por módulos ===== */
.side-group{display:block}
.side-group-toggle{width:100%;position:relative}
.side-group-toggle .side-chevron{margin-left:auto;font-size:18px;transition:transform .18s ease}
.side-group.open .side-chevron{transform:rotate(90deg)}
.side-subnav{display:none;padding:2px 0 5px 10px}
.side-group.open .side-subnav{display:block}
.nav-btn.sub{font-size:13px;padding:9px 12px 9px 18px;opacity:.95}
.nav-btn.sub .sub-dot{width:18px;text-align:center;opacity:.6}
.nav-btn.active-parent{background:var(--panel3);color:var(--text)}

/* ===== Cards genéricos / clientes / cupons / compras ===== */
.entity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:16px}
.entity-card{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:15px;box-shadow:0 3px 12px rgba(0,0,0,.06);overflow:visible}
.entity-card h3{margin:0;font-size:16px;line-height:1.25;color:var(--text)}
.entity-card small{color:var(--muted)}
.entity-card-title,.customer-card-head,.purchase-card-head{display:flex;align-items:flex-start;gap:12px}
.customer-avatar,.purchase-card-icon{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;overflow:hidden;flex:0 0 54px;background:var(--panel3);border:1px solid var(--border);font-weight:900}
.customer-avatar img{width:100%;height:100%;object-fit:cover}
.customer-avatar span{font-size:18px;color:var(--text)}
.purchase-card-icon{font-size:24px}
.customer-card-divider{height:1px;background:var(--border);margin:13px 0}
.entity-card-lines{display:grid;gap:9px;font-size:12px}
.entity-card-lines>div{display:flex;align-items:center;gap:8px;min-width:0}
.entity-card-lines span,.entity-card-lines b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.entity-card-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:14px;min-height:34px}
.entity-options-wrap{position:relative}
.entity-options-menu,.sale-options-menu{display:none;position:absolute;right:0;bottom:calc(100% + 8px);min-width:220px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);z-index:60;padding:6px}
.entity-options-menu.open,.sale-options-menu.open{display:grid}
.entity-options-menu button,.sale-options-menu button{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--text);padding:10px 11px;border-radius:8px;text-align:left;cursor:pointer;font:inherit;font-size:12px}
.entity-options-menu button:hover,.sale-options-menu button:hover{background:var(--panel3)}
.danger-text{color:#ff5a5f!important}
.coupon-card .entity-card-title{justify-content:space-between}
.coupon-card .entity-card-lines b{font-size:18px}
.purchase-card .entity-card-lines>div:last-child{color:#5acb79}

/* ===== Preço dos cards de produto ===== */
.product-card-price{color:var(--text)!important}

/* ===== Cupons e calendário ===== */
.filter-panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px;margin-bottom:18px}
.filter-actions{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:14px;flex-wrap:wrap}
.quick-periods{display:flex;gap:7px;flex-wrap:wrap}
.quick-periods button{border:1px solid var(--border);background:var(--panel3);color:var(--text);font-weight:900;font-size:11px;padding:8px 11px;border-radius:999px;cursor:pointer}
.quick-periods button:hover{border-color:var(--red)}
.switch-line{display:flex;align-items:center;gap:10px;min-height:46px}
.switch-line input{width:18px;height:18px}
.date-display{cursor:pointer}
.brand-calendar{min-width:min(560px,80vw)}
.brand-cal-hero{background:var(--red);color:#fff;border-radius:14px;padding:16px 18px;margin-bottom:12px}
.brand-cal-hero>div{font-size:14px;opacity:.8}
.brand-cal-hero strong{display:block;font-size:27px;margin-top:4px}
.brand-cal-nav{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;margin-bottom:10px}
.brand-cal-week,.brand-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}
.brand-cal-week span{padding:7px 0;font-size:11px;color:var(--muted);font-weight:800}
.brand-cal-days button,.brand-cal-days .empty{height:42px;border-radius:50%;border:0;background:transparent;color:var(--text);display:grid;place-items:center}
.brand-cal-days button{cursor:pointer}
.brand-cal-days button:hover{background:var(--panel3)}
.brand-cal-days button.selected{background:var(--red);color:#fff;font-weight:900}

/* ===== PDV / cupom / WhatsApp ===== */
.coupon-entry{display:grid;grid-template-columns:1fr auto;gap:7px;margin:10px 0}
.coupon-applied{color:#70d889}
.mini-x{border:0;background:transparent;color:#ff656a;font-weight:900;cursor:pointer;font-size:16px;padding:0 4px}
.wa-input-row{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center}
.wa-logo,.wa-pull-btn{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:#25D366;color:#fff;border:0}
.wa-pull-btn{cursor:pointer}
.wa-icon{width:24px;height:24px;display:block}
.wa-share-btn{width:100%;margin-top:12px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:12px;padding:12px 14px;background:#25D366;color:#fff;font-weight:900;cursor:pointer}
.wa-share-btn.compact{width:auto;margin:0;padding:10px 13px}
.menu-wa{width:18px;height:18px;color:#25D366}

/* ===== Listagem de vendas estilo cards ===== */
.sales-filter-grid,.purchase-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.sales-card-list{display:grid;gap:12px}
.sale-list-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;background:linear-gradient(100deg,var(--panel) 70%,rgba(56,195,102,.17));border:1px solid var(--border);border-radius:15px;padding:12px 14px}
.sale-list-card.bad{background:linear-gradient(100deg,var(--panel) 70%,rgba(215,25,32,.18))}
.sale-list-card.warn{background:linear-gradient(100deg,var(--panel) 70%,rgba(255,190,0,.16))}
.sale-list-main{display:grid;grid-template-columns:50px minmax(180px,1.4fr) minmax(130px,.7fr) minmax(190px,1fr);align-items:center;gap:14px;cursor:pointer}
.sale-list-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--panel3);border:1px solid var(--border);font-size:22px}
.sale-list-ident,.sale-list-value,.sale-list-date{display:grid;gap:2px;min-width:0}
.sale-list-ident strong{font-size:13px}.sale-list-ident span{font-size:13px}.sale-list-ident small,.sale-list-value span,.sale-list-date span,.sale-list-value small,.sale-list-date small{color:var(--muted);font-size:10px}
.sale-list-value b{font-size:17px}
.sale-list-date b{font-size:12px}
.sale-options-wrap{position:relative}

/* ===== Detalhe da venda ===== */
.sale-detail-head{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sale-detail-head>div,.sale-customer-grid>div{display:grid;gap:4px}
.sale-detail-head span,.sale-customer-grid span{font-size:10px;color:var(--muted);text-transform:uppercase}
.sale-customer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.sale-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:14px 0}
.manage-sale-warning{padding:12px 14px;border:1px solid #f1aa39;background:rgba(241,170,57,.1);border-radius:11px;margin-bottom:14px}

/* ===== Compras ===== */
.purchase-card-grid{grid-template-columns:repeat(auto-fill,minmax(285px,1fr))}
.purchase-tabs{margin-bottom:16px}
.purchase-totals-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;align-items:end}
.purchase-total-box{border:1px solid var(--border);background:var(--panel2);border-radius:12px;padding:12px}
.purchase-total-box span{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:800}
.purchase-total-box b{display:block;margin-top:5px;font-size:22px;color:var(--text)}
.purchase-item-card{display:flex;justify-content:space-between;gap:14px;border:1px solid var(--border);background:var(--panel2);border-radius:13px;padding:12px;margin-bottom:9px}
.purchase-item-card h4{margin:0 0 9px}
.purchase-item-controls{display:grid;grid-template-columns:120px 180px minmax(170px,1fr);gap:10px;align-items:end}
.purchase-item-side{display:grid;align-content:space-between;justify-items:end;min-width:110px}
.purchase-item-side>b{font-size:16px}
.purchase-search-row{margin-bottom:10px}

/* ===== Toasts de sucesso / erro ===== */
.toast-wrap{position:fixed;right:18px;top:18px;z-index:5000;display:grid;gap:10px;max-width:min(420px,calc(100vw - 36px))}
.toast{position:relative;padding:14px 16px 14px 46px;border-radius:14px;background:var(--panel);border:1px solid var(--border);box-shadow:0 14px 34px rgba(0,0,0,.24);color:var(--text);font-weight:700;line-height:1.35}
.toast::before{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:900}
.toast.ok{border-left:4px solid #37bf69}.toast.ok::before{content:"✓";background:#37bf69;color:#fff}
.toast.bad{border-left:4px solid #e43a3f}.toast.bad::before{content:"!";background:#e43a3f;color:#fff}

/* ===== Página pública do comprovante ===== */
.public-sale-page{min-height:100vh;background:#f5f6f8;padding:28px 14px;color:#171717}
.public-sale-card{max-width:980px;margin:0 auto;background:#fff;border-radius:18px;padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.public-company{text-align:center;border-bottom:1px solid #ddd;padding-bottom:16px;margin-bottom:14px}
.public-company img{display:block;max-width:180px;max-height:80px;object-fit:contain;margin:0 auto 8px}
.public-company h1{margin:5px 0;font-size:22px}
.public-status{text-align:center;padding:9px 12px;border-radius:10px;margin-bottom:15px;font-weight:900}
.public-status.ok{background:#e9f8ee;color:#18753b}.public-status.warn{background:#fff4d8;color:#8b6500}.public-status.bad{background:#fde8e8;color:#9d1c20}
.public-sale-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}
.public-sale-meta>div{display:grid;gap:4px;border:1px solid #ddd;border-radius:10px;padding:10px}.public-sale-meta span{font-size:10px;color:#666;text-transform:uppercase}
.public-sale-card h2{font-size:15px;margin:20px 0 8px}.public-table{color:#111}.public-table th{background:#f0f1f3}.public-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:18px}.public-totals>div{border:1px solid #ddd;border-radius:10px;padding:10px;display:grid;gap:4px}.public-totals span{font-size:10px;color:#666;text-transform:uppercase}.public-totals .grand{border:2px solid #D71920}.public-totals .grand b{font-size:20px}.public-return-note{padding:12px;background:#fff4d8;border-radius:10px}.public-actions{text-align:center;margin-top:24px}.public-receipt-loading{min-height:100vh;display:grid;place-items:center;background:#111;color:#fff;padding:20px;text-align:center}

/* ===== Responsivo ===== */
@media(max-width:1000px){
  .sales-filter-grid,.purchase-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sale-list-main{grid-template-columns:48px 1fr 1fr}.sale-list-date{grid-column:2/4}
  .sale-kpis{grid-template-columns:repeat(3,1fr)}
  .sale-detail-head,.sale-customer-grid{grid-template-columns:repeat(2,1fr)}
  .purchase-totals-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .entity-grid{grid-template-columns:1fr}
  .sales-filter-grid,.purchase-filter-grid{grid-template-columns:1fr}
  .sale-list-card{grid-template-columns:1fr}
  .sale-list-main{grid-template-columns:44px 1fr}
  .sale-list-value,.sale-list-date{grid-column:2}
  .sale-options-wrap{justify-self:end}
  .sale-detail-head,.sale-customer-grid,.sale-kpis,.public-sale-meta,.public-totals{grid-template-columns:1fr}
  .purchase-totals-grid{grid-template-columns:1fr}
  .purchase-item-card{display:grid}.purchase-item-controls{grid-template-columns:1fr}.purchase-item-side{justify-items:stretch;grid-template-columns:1fr auto;align-items:center}
  .filter-actions{display:grid}.filter-actions>div:last-child{display:flex;gap:8px}
}


/* ===== Rodada 27/09: navegação, busca global, PDV e caixas ===== */

/* Menu lateral: itens diretos e grupos com a mesma base visual */
.side-nav>.nav-btn,.side-group-toggle,.side-footer>.nav-btn{
  background:#29292d;color:#f1f1f3;margin:4px 0;
}
.side-nav>.nav-btn:hover:not(.active),.side-group-toggle:hover:not(.active-parent),.side-footer>.nav-btn:hover{
  background:#343438;color:#fff;
}
.side-nav>.nav-btn.active{background:var(--red);color:#fff}
.side-group-toggle.active-parent{background:#29292d;color:#fff}
.side-subnav .nav-btn.sub{background:#222225;color:#c7c7cc;margin:3px 0}
.side-subnav .nav-btn.sub:hover:not(.active){background:#303034;color:#fff}
.side-subnav .nav-btn.sub.active{background:var(--red);color:#fff}

/* Busca global */
.global-search{cursor:text}
.global-search input[readonly]{cursor:pointer}
.global-search kbd{
  flex:0 0 auto;border:1px solid var(--border);background:var(--panel);
  color:var(--muted);border-radius:7px;padding:3px 6px;font-size:10px;font-weight:800;
}
.command-backdrop{
  position:fixed;inset:0;z-index:11000;background:rgba(0,0,0,.66);
  backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;
  padding:clamp(70px,10vh,120px) 18px 30px;
}
.command-palette{
  width:min(760px,100%);max-height:min(720px,78vh);display:flex;flex-direction:column;
  background:var(--panel);border:1px solid var(--border);border-radius:22px;
  box-shadow:0 34px 100px rgba(0,0,0,.48);overflow:hidden;
}
.command-input-row{
  min-height:66px;display:flex;align-items:center;gap:12px;padding:0 18px;
  border-bottom:1px solid var(--border);font-size:18px;
}
.command-input-row input{
  flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--text);
  font-size:17px;font-weight:650;
}
.command-input-row kbd{
  border:1px solid var(--border);background:var(--panel3);color:var(--muted);
  border-radius:8px;padding:5px 8px;font-size:10px;font-weight:900;
}
.command-caption{
  padding:11px 18px 7px;color:var(--muted);font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
}
.command-results{overflow:auto;padding:8px 12px 12px;display:grid;gap:7px}
.command-result{
  width:100%;border:1px solid transparent;background:transparent;color:var(--text);
  border-radius:14px;padding:13px 14px;display:flex;align-items:center;gap:12px;text-align:left;
}
.command-result:hover,.command-result.active{
  background:var(--panel3);border-color:color-mix(in srgb,var(--red) 45%,var(--border));
}
.command-copy{display:grid;gap:3px;flex:1}.command-copy b{font-size:14px}.command-copy small{color:var(--muted);font-size:12px}
.command-enter{color:var(--muted);font-size:11px;font-weight:800}
.command-empty{padding:34px 16px;text-align:center;color:var(--muted)}
.command-footer{
  border-top:1px solid var(--border);padding:9px 16px;display:flex;gap:18px;
  justify-content:flex-end;color:var(--muted);font-size:10px;font-weight:800;
}

/* PDV inspirado no fluxo visual comercial, mantendo identidade do Pronto Flux */
.pdv-context-grid{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(440px,1.28fr);gap:14px;margin-bottom:14px}
.pdv-context-card,.pdv-customer-card{
  background:var(--panel);border:1px solid var(--border);border-radius:17px;padding:14px 16px;
}
.pdv-context-card{display:flex;align-items:center;gap:16px}
.pdv-context-card>div{display:grid;gap:4px}.pdv-context-card b{font-size:15px}.pdv-context-card small{color:var(--muted)}
.pdv-step{
  display:block;color:var(--red);font-size:10px;font-weight:950;letter-spacing:.09em;
  text-transform:uppercase;margin-bottom:5px;
}
.pdv-customer-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.pdv-customer-main{display:flex;align-items:center;gap:11px;margin-top:4px}
.pdv-customer-main .grow{display:grid;gap:3px}.pdv-customer-main small{color:var(--muted)}
.pdv-customer-avatar{
  width:38px;height:38px;display:grid;place-items:center;border-radius:12px;
  background:color-mix(in srgb,var(--red) 15%,var(--panel3));color:var(--red);font-weight:900;
}
.pdv-address-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:10px}
.pdv-delivery-selected{
  position:relative;margin-top:10px;padding:10px 38px 10px 12px;border-radius:11px;
  border:1px solid color-mix(in srgb,var(--success) 35%,var(--border));
  background:color-mix(in srgb,var(--success) 8%,var(--panel2));display:grid;gap:3px;
}
.pdv-delivery-selected span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:900}
.pdv-delivery-selected b{font-size:12px;line-height:1.4}
.pdv-delivery-selected .mini-x{position:absolute;right:9px;top:50%;transform:translateY(-50%)}

.pdv-main-layout{grid-template-columns:minmax(0,1fr) 420px;align-items:start}
.pdv-catalog{
  background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:17px;
  min-height:420px;
}
.pdv-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}
.pdv-panel-head h3{margin:0;font-size:17px}
.pdv-search-box{height:56px;border-width:2px;background:var(--panel2)}
.pdv-search-box input{font-size:15px}
.pdv-search-results{margin-top:13px}
.pdv-search-hint{
  min-height:120px;border:1px dashed var(--border);border-radius:14px;display:grid;
  place-content:center;text-align:center;gap:5px;color:var(--muted);
}
.pdv-search-hint b{color:var(--text);font-size:14px}.pdv-search-hint span{font-size:12px}
.pdv-product-result{align-items:center;padding:10px 11px}
.search-result-main{display:flex;align-items:center;gap:11px;min-width:0}
.search-result-main>div:last-child{min-width:0}.search-result-main b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.search-result-thumb{
  width:44px;height:44px;flex:0 0 44px;border-radius:10px;background:var(--panel);
  border:1px solid var(--border);display:grid;place-items:center;overflow:hidden;
}
.search-result-thumb img{width:100%;height:100%;object-fit:contain}
.pdv-result-price{display:flex;align-items:center;gap:10px;white-space:nowrap}
.pdv-result-price>b{font-size:15px;color:var(--text)}

.pdv-cart{max-height:calc(100vh - 126px);border-radius:18px}
.pdv-cart .cart-head{padding:15px 16px}.pdv-cart .cart-head>div{display:grid;gap:2px}
.pdv-cart-item{padding:13px 14px}
.cart-item-value{display:flex;align-items:flex-start;gap:8px;white-space:nowrap}
.cart-remove,.mini-x{
  width:26px;height:26px;border:1px solid var(--border);background:var(--panel3);color:var(--muted);
  border-radius:8px;display:inline-grid;place-items:center;font-size:17px;line-height:1;cursor:pointer;
}
.cart-remove:hover,.mini-x:hover{border-color:var(--red);color:#fff;background:var(--red)}
.pdv-qty-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.qty-stepper{display:grid;grid-template-columns:34px 58px 34px;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.qty-stepper button{border:0;background:var(--panel3);color:var(--text);font-weight:900}
.qty-stepper input{width:100%;border:0;border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--panel2);color:var(--text);text-align:center;outline:0;padding:7px 3px}
.pdv-cart-controls{grid-template-columns:minmax(125px,1.1fr) 115px 105px;align-items:center}
.pdv-cart-controls .select,.pdv-cart-controls .input{min-width:0;font-size:11px;padding:8px}
.pdv-cart-empty{display:grid;gap:5px}.pdv-cart-empty b{color:var(--text)}.pdv-cart-empty span{font-size:12px}
.pdv-totals-title{padding-bottom:6px;border-bottom:1px solid var(--border);margin-bottom:8px}
.coupon-entry{display:grid;grid-template-columns:1fr auto;gap:7px;margin:10px 0}
.coupon-applied{color:var(--success)}
.delivery-row{padding-top:7px;border-top:1px dashed var(--border)}
.pdv-grand-total{margin-top:12px;padding-top:12px;border-top:1px solid var(--border);font-size:21px}
.pdv-grand-total b{font-size:24px}
.pdv-checkout-btn{min-height:48px;margin-top:12px;font-size:14px}
.delivery-preview{
  border:1px solid var(--border);background:var(--panel2);border-radius:14px;padding:15px;display:grid;gap:6px;
}
.delivery-preview span,.checkout-delivery span{font-size:10px;color:var(--muted);font-weight:900;text-transform:uppercase}
.delivery-preview b,.checkout-delivery b{line-height:1.5}
.checkout-delivery{
  margin:12px 0;padding:12px;border-radius:12px;border:1px solid var(--border);
  background:var(--panel2);display:grid;gap:5px;
}
.customer-picker-card{cursor:pointer}.customer-picker-card:hover{border-color:var(--red)}
.customer-picker-address{margin-top:4px;max-width:620px}
.sale-delivery-address{font-size:15px;font-weight:800;line-height:1.55}
.public-delivery{
  border:1px solid var(--border);background:var(--panel2);border-radius:14px;padding:14px 16px;
}
.public-delivery h2{margin:0 0 7px}.public-delivery p{margin:0;line-height:1.5}

/* Caixa: abas, filtros, cards de fechados e telas de detalhe */
.cash-tabs{
  display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;background:var(--panel);
  border:1px solid var(--border);border-radius:15px;margin-bottom:16px;
}
.cash-tabs button{
  min-height:44px;border:0;background:transparent;color:var(--muted);border-radius:11px;
  font-weight:900;letter-spacing:.02em;
}
.cash-tabs button span{
  display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;
  margin-left:6px;border-radius:999px;background:var(--panel3);font-size:10px;
}
.cash-tabs button.active{background:var(--red);color:#fff}
.cash-tabs button.active span{background:rgba(255,255,255,.18);color:#fff}
.cash-filter-card{margin-bottom:15px}
.cash-filter-grid{display:grid;grid-template-columns:1.2fr .9fr 1fr 1fr;gap:12px}
.cash-hide-empty{margin-top:13px}
.cash-filter-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
.cash-filter-actions>div,.cash-quick{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.cash-closed-toolbar{padding:6px 2px 11px;color:var(--muted);font-size:12px}
.closed-cash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(315px,1fr));gap:14px}
.closed-cash-card{
  position:relative;background:var(--panel);border:1px solid var(--border);border-radius:17px;
  padding:14px;overflow:visible;box-shadow:0 3px 12px rgba(0,0,0,.06);
}
.closed-cash-head{display:flex;align-items:center;gap:10px;padding-bottom:11px;border-bottom:1px solid var(--border)}
.closed-cash-icon{
  width:40px;height:40px;display:grid;place-items:center;border-radius:12px;
  background:color-mix(in srgb,var(--red) 13%,var(--panel3));color:var(--red);font-weight:900;
}
.closed-cash-head .grow{display:grid;gap:2px}.closed-cash-head .grow span{font-size:11px;color:var(--muted)}
.closed-cash-info{display:grid;grid-template-columns:1fr 1.2fr;gap:10px;margin-top:11px}
.closed-cash-info>div,.closed-cash-values>div{display:grid;gap:4px}
.closed-cash-info span,.closed-cash-values span{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:900}
.closed-cash-info b{font-size:11px;line-height:1.35}
.closed-cash-values{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:11px}
.closed-cash-values>div{border:1px solid var(--border);background:var(--panel2);border-radius:10px;padding:9px}
.closed-cash-values b{font-size:13px}
.closed-cash-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}
.closed-cash-footer>span{font-size:10px;color:var(--muted)}
.cash-options-wrap{position:relative}
.cash-options-menu{
  display:none;position:absolute;right:0;bottom:calc(100% + 7px);z-index:60;min-width:205px;
  padding:6px;border:1px solid var(--border);background:var(--panel);border-radius:12px;box-shadow:var(--shadow);
}
.cash-options-menu.open{display:grid}
.cash-options-menu button{
  border:0;background:transparent;color:var(--text);padding:9px 10px;border-radius:8px;
  text-align:left;font-size:12px;
}
.cash-options-menu button:hover{background:var(--panel3)}
.cash-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0 4px;color:var(--muted);font-size:12px}
.cash-detail-tabs{
  display:flex;gap:7px;overflow:auto;padding-bottom:10px;margin-bottom:13px;
}
.cash-detail-tab{
  flex:0 0 auto;border:1px solid var(--border);background:var(--panel);color:var(--muted);
  border-radius:999px;padding:9px 12px;font-size:11px;font-weight:850;
}
.cash-detail-tab.active{background:var(--red);border-color:var(--red);color:#fff}
.cash-closing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.cash-closing-grid>div{border:1px solid var(--border);background:var(--panel2);border-radius:12px;padding:12px;display:grid;gap:5px}
.cash-closing-grid span{font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:900}
.cash-closing-grid .full{grid-column:1/-1}
.cash-methods-large{margin-top:0}
.cash-report-launch{display:flex;align-items:center;justify-content:space-between;gap:18px}
.cash-report-launch h3{margin:0 0 6px}.cash-report-launch p{margin:0}

@media(max-width:1100px){
  .pdv-context-grid{grid-template-columns:1fr}
  .pdv-main-layout{grid-template-columns:1fr}
  .pdv-cart{position:static;max-height:none}
  .cash-filter-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .pdv-panel-head,.pdv-customer-title,.pdv-result-price,.cash-filter-actions,.cash-report-launch{align-items:stretch;flex-direction:column}
  .pdv-product-result{align-items:stretch;flex-direction:column}
  .pdv-result-price{display:flex;justify-content:space-between}
  .pdv-cart-controls{grid-template-columns:1fr}
  .cash-filter-grid,.cash-closing-grid{grid-template-columns:1fr}
  .cash-closing-grid .full{grid-column:auto}
  .closed-cash-info{grid-template-columns:1fr}
}


/* ===== Rodada 27/09 — refinamentos finais solicitados ===== */

/* Marca do topo: somente PRONTOFLUX e clicável para voltar ao início */
.top-brand-home{
  border:0;background:transparent;color:var(--text);padding:6px 0;
  display:inline-flex;align-items:center;cursor:pointer;
}
.top-brand-home:hover{opacity:.82}
.top-brand-home:focus-visible{outline:2px solid var(--red);outline-offset:5px;border-radius:6px}

/* Submódulos com o mesmo tratamento visual dos módulos principais */
.side-subnav{padding:3px 0 6px 10px}
.side-subnav .nav-btn.sub{
  background:#29292d;color:#f1f1f3;margin:4px 0;border-radius:12px;
  padding:11px 12px 11px 18px;opacity:1;
}
.side-subnav .nav-btn.sub:hover:not(.active){
  background:var(--red);color:#fff;
}
.side-subnav .nav-btn.sub.active{
  background:var(--red);color:#fff;
}

/* Toasts compactos: corrige o alongamento vertical causado por top + bottom simultâneos */
.toast-wrap{
  top:auto!important;bottom:20px!important;right:20px!important;left:auto!important;
  width:auto!important;max-width:min(340px,calc(100vw - 32px))!important;
  display:grid!important;gap:8px!important;align-content:end!important;
  grid-auto-rows:max-content!important;pointer-events:none;
}
.toast{
  min-width:240px!important;max-width:340px!important;width:max-content!important;
  padding:11px 13px 11px 42px!important;border-radius:12px!important;
  line-height:1.3!important;font-size:13px!important;font-weight:750!important;
  min-height:44px!important;height:auto!important;align-self:end!important;
  pointer-events:auto;
}
.toast::before{left:12px!important;width:21px!important;height:21px!important;font-size:12px!important}
@media(max-width:520px){
  .toast-wrap{left:12px!important;right:12px!important;bottom:12px!important;max-width:none!important}
  .toast{min-width:0!important;max-width:none!important;width:100%!important}
}

/* Configurações com segunda coluna útil, sem área vazia */
.settings-layout{
  display:grid;grid-template-columns:minmax(520px,1.25fr) minmax(320px,.75fr);
  gap:16px;align-items:start;
}
.settings-company-card{min-width:0}
.settings-side-stack{display:grid;gap:16px;align-content:start}
.settings-action-row{display:flex;gap:8px;flex-wrap:wrap}
.settings-info-list{display:grid;gap:9px}
.settings-info-list>div{
  display:grid;gap:4px;padding:10px 12px;border:1px solid var(--border);
  background:var(--panel2);border-radius:11px;
}
.settings-info-list span{
  color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;
}
.settings-info-list b{font-size:13px;line-height:1.35}
.settings-shortcuts{display:grid;gap:8px}
.settings-shortcuts>div{
  display:grid;grid-template-columns:72px 1fr;align-items:center;gap:10px;
  padding:9px 10px;border:1px solid var(--border);background:var(--panel2);border-radius:10px;
}
.settings-shortcuts kbd{
  justify-self:start;border:1px solid var(--border);background:var(--panel3);
  color:var(--text);border-radius:7px;padding:4px 7px;font-size:10px;font-weight:900;
}
.settings-shortcuts span{color:var(--muted);font-size:12px}

/* Edição do endereço dentro da finalização */
.checkout-delivery-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px;
}
.checkout-address-grid{
  display:grid;grid-template-columns:1fr 90px;gap:8px;margin-top:8px;
}
.checkout-address-grid .full{grid-column:1/-1}
.checkout-address-actions{display:flex;justify-content:flex-end;margin-top:9px}

/* Origem de estoque vinculada à venda */
.stock-sale-origin{
  display:inline-flex;align-items:center;gap:6px;
}

/* Comprovante público: endereço segue o visual claro do documento */
.public-sale-page .public-delivery{
  background:#fff!important;color:#171717!important;border:1px solid #d9dde3!important;
  box-shadow:none!important;
}
.public-sale-page .public-delivery h2,
.public-sale-page .public-delivery p{
  color:#171717!important;
}

/* Mantém a tela de configuração confortável em resoluções menores */
@media(max-width:1050px){
  .settings-layout{grid-template-columns:1fr}
}
@media(max-width:600px){
  .checkout-address-grid{grid-template-columns:1fr}
  .checkout-address-grid .full{grid-column:auto}
  .checkout-delivery-head{align-items:flex-start;flex-direction:column}
}


/* ===== Rodada 27/09 — estoque, cupons e tema claro ===== */

/* Hover dos módulos principais e grupos sempre em vermelho */
.side-nav>.nav-btn:hover:not(.active),
.side-group-toggle:hover:not(.active-parent),
.side-footer>.nav-btn:hover{
  background:var(--red)!important;
  color:#fff!important;
}
.side-group-toggle.active-parent{
  background:var(--red)!important;
  color:#fff!important;
}

/* Tema claro: lateral leve e vermelho mais equilibrado sobre branco */
.light{
  --red:#C9161D;
  --red-hover:#D82229;
  --red-pressed:#A41218;
}
.light .sidebar{
  background:#f7f8fa;
  border-right-color:#e1e4e8;
}
.light .side-company,.light .side-footer{
  border-color:#e1e4e8;
}
.light .side-nav>.nav-btn,
.light .side-group-toggle,
.light .side-footer>.nav-btn{
  background:#fff;
  color:#33363b;
  border:1px solid #e4e7ec;
  box-shadow:0 1px 2px rgba(20,24,32,.03);
}
.light .side-nav>.nav-btn:hover:not(.active),
.light .side-group-toggle:hover:not(.active-parent),
.light .side-footer>.nav-btn:hover,
.light .side-nav>.nav-btn.active,
.light .side-group-toggle.active-parent{
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:#fff!important;
}
.light .side-subnav .nav-btn.sub{
  background:#f0f2f5;
  color:#44484f;
  border:1px solid #e2e5ea;
}
.light .side-subnav .nav-btn.sub:hover:not(.active),
.light .side-subnav .nav-btn.sub.active{
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:#fff!important;
}
.light .hero{
  background:linear-gradient(135deg,var(--red),#A91218);
}

/* Status neutro usado para itens inativos / sem controle */
.tag.neutral{
  background:#343439;
  color:#c7c7ce;
}
.light .tag.neutral{
  background:#eceff3;
  color:#686f79;
}
.light .tag.ok{
  background:#e8f7ef;
  color:#187448;
}
.light .tag.warn{
  background:#fff4d6;
  color:#8a5a00;
}
.light .tag.bad{
  background:#fde9ea;
  color:#b4232a;
}

/* Link de venda usado no histórico de cupons */
.coupon-sale-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
}


/* ===== Rodada 27/09 — total positivo no PDV e confirmação de cupom ===== */
.pdv-grand-total b,
.checkout-grand-total b{
  color:var(--success)!important;
}
.checkout-coupon-confirm{
  margin-top:10px;
  padding:9px 11px;
  border:1px solid color-mix(in srgb,var(--success) 42%,var(--border));
  background:color-mix(in srgb,var(--success) 10%,var(--panel2));
  border-radius:10px;
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:var(--success);
  font-size:12px;
}
.checkout-coupon-confirm b{
  color:var(--success);
}


/* ===== Comprovante público — impressão e QR ===== */
.public-qr{
  margin-top:24px;
  padding-top:18px;
  border-top:1px solid #d9dde3;
  text-align:center;
  color:#171717;
}
.public-qr img{
  display:block;
  width:120px;
  height:120px;
  margin:0 auto 8px;
}
.public-qr b,.public-qr span{display:block;color:#171717}
.public-qr span{margin-top:4px}

@media print{
  body.public-receipt-mode>*{
    display:block!important;
  }
  body.public-receipt-mode #app{
    display:block!important;
  }
  body.public-receipt-mode .public-sale-page{
    display:block!important;
    padding:0!important;
    background:#fff!important;
  }
  body.public-receipt-mode .public-sale-card{
    display:block!important;
    box-shadow:none!important;
    border-radius:0!important;
    width:100%!important;
    max-width:none!important;
    padding:0!important;
  }
  body.public-receipt-mode .public-actions{
    display:none!important;
  }
}


/* ===== Rodada 27/09 — PDV comercial, compras e impressão ===== */

/* Busca global realmente centralizada no cabeçalho */
@media(min-width:901px){
  .topbar{position:sticky}
  .topbar .global-search{
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    margin-left:0;
    width:min(480px,38vw);
    z-index:2;
  }
}

/* PDV: hierarquia mais próxima de um PDV comercial */
.pdv-context-grid{
  grid-template-columns:minmax(300px,.68fr) minmax(460px,1.32fr);
  gap:10px;margin-bottom:10px;
}
.pdv-context-card,.pdv-customer-card{
  border-radius:12px;padding:11px 13px;background:var(--panel);
  box-shadow:0 1px 0 rgba(255,255,255,.015);
}
.pdv-step{
  display:inline-flex;align-items:center;min-height:20px;padding:3px 7px;border-radius:6px;
  background:color-mix(in srgb,var(--red) 11%,transparent);
  color:var(--red);font-size:9px;letter-spacing:.065em;margin-bottom:4px;
}
.pdv-customer-avatar{width:34px;height:34px;border-radius:9px}
.pdv-customer-title .btn{padding:7px 10px;font-size:10px}
.pdv-main-layout{
  grid-template-columns:minmax(0,1fr) 430px;
  gap:10px;align-items:start;
}
.pdv-catalog{
  border-radius:12px;padding:14px;min-height:500px;
  background:var(--panel);border-color:var(--border);
}
.pdv-panel-head{margin-bottom:10px;align-items:center}
.pdv-panel-head h3{font-size:16px}
.pdv-search-box{
  height:50px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);
  transition:.15s;
}
.pdv-search-box:focus-within{
  border-color:var(--red);box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 12%,transparent);
}
.pdv-search-hint{
  min-height:145px;border-radius:10px;background:color-mix(in srgb,var(--panel2) 55%,transparent);
}
.pdv-product-result{border-radius:9px}
.pdv-cart{
  border-radius:12px;max-height:calc(100vh - 118px);
  box-shadow:0 8px 26px rgba(0,0,0,.14);
}
.pdv-cart .cart-head{padding:13px 14px}
.pdv-cart-item{padding:12px 13px}
.pdv-cart .cart-total{
  background:color-mix(in srgb,var(--panel2) 76%,var(--panel));
  padding:14px;
}
.pdv-totals-title{margin-bottom:10px}
.pdv-grand-total{
  margin-top:10px;padding-top:13px;font-size:19px;
}
.pdv-grand-total b{font-size:25px;color:var(--success)!important}
.pdv-checkout-btn{
  min-height:48px;border-radius:10px;margin-top:13px;
  box-shadow:0 8px 20px color-mix(in srgb,var(--red) 18%,transparent);
}
.coupon-entry .input{border-radius:9px}
.delivery-row{margin-top:10px}

/* Compras em andamento e cadastros rápidos */
.purchase-draft-status{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:10px;color:var(--muted);
}
.purchase-draft-status small{font-size:11px}
.purchase-draft-card{border-color:color-mix(in srgb,var(--warning) 32%,var(--border))}
.purchase-supplier-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.purchase-stock-choice{
  margin-top:18px;border:1px solid color-mix(in srgb,var(--success) 35%,var(--border));
  background:color-mix(in srgb,var(--success) 8%,var(--panel2));
  border-radius:13px;padding:13px;display:flex;gap:11px;align-items:flex-start;
  color:var(--text);
}
.purchase-stock-choice input{margin-top:3px}
.purchase-stock-choice span{display:grid;gap:4px}
.purchase-stock-choice b{font-size:13px}
.purchase-stock-choice small{color:var(--muted);line-height:1.45}
.purchase-prefill-context{
  margin-bottom:14px;border:1px solid color-mix(in srgb,var(--info) 35%,var(--border));
  background:color-mix(in srgb,var(--info) 8%,var(--panel2));
  border-radius:12px;padding:11px 13px;display:grid;gap:4px;
}
.purchase-prefill-context b{font-size:13px}
.purchase-prefill-context span{color:var(--muted);font-size:12px}
.lookup-status.bad{color:var(--danger)}
#stPurchaseField .lookup-note{margin-top:4px}

/* Comprovante público: documento A4 limpo, logo proporcional e sem barras de rolagem */
.public-company img{
  width:220px;height:78px;max-width:220px;max-height:78px;
  object-fit:contain;object-position:center;margin:0 auto 10px;
}
@media print{
  @page{size:A4;margin:10mm}
  html,body{background:#fff!important}
  body.public-receipt-mode .dev-banner{display:none!important}
  body.public-receipt-mode>*:not(#app){display:none!important}
  body.public-receipt-mode #app{display:block!important}
  body.public-receipt-mode .public-sale-page{
    display:block!important;padding:0!important;background:#fff!important;min-height:auto!important;
  }
  body.public-receipt-mode .public-sale-card{
    display:block!important;width:100%!important;max-width:none!important;
    padding:0!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  }
  body.public-receipt-mode .public-company{
    padding:0 0 10px!important;margin-bottom:10px!important;
  }
  body.public-receipt-mode .public-company img{
    width:210px!important;height:70px!important;max-width:210px!important;max-height:70px!important;
    margin:0 auto 7px!important;object-fit:contain!important;
  }
  body.public-receipt-mode .public-company h1{font-size:18px!important;margin:2px 0!important}
  body.public-receipt-mode .public-status{padding:6px!important;margin-bottom:10px!important;font-size:11px!important}
  body.public-receipt-mode .public-sale-meta{gap:6px!important;margin-bottom:10px!important}
  body.public-receipt-mode .public-sale-meta>div{padding:7px!important;border-radius:6px!important}
  body.public-receipt-mode .public-sale-card h2{font-size:12px!important;margin:12px 0 5px!important}
  body.public-receipt-mode .table-wrap{
    overflow:visible!important;border-radius:6px!important;width:100%!important;
  }
  body.public-receipt-mode .public-table{
    min-width:0!important;width:100%!important;table-layout:fixed!important;font-size:9px!important;
  }
  body.public-receipt-mode .public-table th,
  body.public-receipt-mode .public-table td{
    padding:5px 4px!important;white-space:normal!important;overflow-wrap:anywhere!important;
  }
  body.public-receipt-mode .public-totals{gap:6px!important;margin-top:10px!important}
  body.public-receipt-mode .public-totals>div{padding:7px!important;border-radius:6px!important}
  body.public-receipt-mode .public-qr{margin-top:14px!important;padding-top:10px!important}
  body.public-receipt-mode .public-qr img{width:92px!important;height:92px!important}
  body.public-receipt-mode .public-actions{display:none!important}
}

@media(max-width:700px){
  .purchase-supplier-row{grid-template-columns:1fr}
}

.purchase-step-actions{display:flex;justify-content:flex-end;margin-top:14px}
.purchase-detail-stock{
  margin:0 0 14px;border-radius:12px;padding:11px 13px;display:grid;gap:4px;border:1px solid var(--border);
}
.purchase-detail-stock b{font-size:13px}
.purchase-detail-stock span{font-size:12px;color:var(--muted);line-height:1.45}
.purchase-detail-stock.posted{background:color-mix(in srgb,var(--success) 8%,var(--panel2));border-color:color-mix(in srgb,var(--success) 32%,var(--border))}
.purchase-detail-stock.pending{background:color-mix(in srgb,var(--warning) 9%,var(--panel2));border-color:color-mix(in srgb,var(--warning) 35%,var(--border))}


/* ===== Rodada 27/09 — topo comercial, estoque por compra, fornecedores e OS ===== */

/* Cabeçalho: atalhos à direita e bloco do usuário mais proporcional */
.top-quick-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:7px;
}
.top-quick-btn{
  width:40px;height:40px;
  border:1px solid var(--border);
  background:var(--panel2);
  color:var(--text);
  border-radius:11px;
  display:grid;
  place-items:center;
  font-size:17px;
  transition:.15s;
}
.top-quick-btn:hover{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}
.user-chip{
  min-width:0;
  max-width:180px;
}
.user-chip .avatar{
  flex:0 0 36px;
}
.user-chip>div:last-child{
  min-width:0;
}
.user-chip b{
  display:block;
  max-width:132px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:13px;
  line-height:1.2;
}
.user-chip small{
  font-size:10px;
  line-height:1.2;
  margin-top:2px;
}

/* Mantém a busca central mesmo com atalhos do lado direito */
@media(min-width:901px){
  .topbar .global-search{
    left:50%;
    transform:translateX(-50%);
    margin:0;
  }
  .top-quick-actions{margin-left:auto}
}
@media(max-width:1100px){
  .user-chip{max-width:130px}
  .user-chip b{max-width:86px}
  .top-quick-btn{width:36px;height:36px}
}

/* Calendários seguem a cor de destaque do Pronto Flux quando o navegador permite */
input[type="date"],
input[type="datetime-local"],
input[type="month"]{
  accent-color:var(--red);
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
}

/* Processamento de estoque pela própria compra */
.purchase-stock-process-note{
  margin-bottom:14px;
  padding:12px 14px;
  border:1px solid color-mix(in srgb,var(--success) 35%,var(--border));
  background:color-mix(in srgb,var(--success) 8%,var(--panel2));
  border-radius:12px;
  color:var(--muted);
  line-height:1.5;
}
[data-purchase-stock]{
  color:var(--success)!important;
}

/* Fornecedores reutilizam exatamente a grade visual dos clientes */
.supplier-card .customer-avatar{
  background:color-mix(in srgb,var(--red) 11%,var(--panel3));
  color:var(--text);
}

/* Ordens de Serviço — estrutura inspirada em fluxo comercial */
.os-filter-panel{
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--panel);
  overflow:hidden;
  box-shadow:var(--shadow);
  margin-bottom:18px;
}
.os-filter-head{
  min-height:50px;
  padding:0 15px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:color-mix(in srgb,var(--red) 78%,#7a0d12);
  color:#fff;
}
.os-filter-head>b{
  font-size:15px;
  font-weight:850;
}
.os-view-tools{
  display:flex;
  align-items:center;
  gap:16px;
  font-size:12px;
}
.os-filter-body{
  padding:18px 20px 14px;
}
.os-filter-grid{
  display:grid;
  grid-template-columns:1fr 1.3fr .9fr .8fr .8fr;
  gap:16px 20px;
}
.os-filter-grid .os-client-field{
  grid-column:span 2;
}
.os-filter-grid .field:last-child{
  grid-column:span 2;
}
.os-line-input{
  border-width:0 0 1px!important;
  border-radius:0!important;
  padding-left:2px!important;
  padding-right:2px!important;
  background:transparent!important;
  box-shadow:none!important;
}
.os-line-input:focus{
  border-color:var(--red)!important;
  box-shadow:none!important;
}
.os-filter-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-top:20px;
}
.os-status-buttons{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.os-status-btn{
  min-height:38px;
  padding:8px 18px;
  border-radius:10px;
  background:var(--panel2);
  border:1px solid var(--border);
  color:var(--muted);
  font-weight:750;
  transition:.15s;
}
.os-status-btn.final{border-color:#42c96b;color:#42c96b}
.os-status-btn.open{border-color:#f2a61b;color:#f2a61b}
.os-status-btn.cancel{border-color:#ef5b5b;color:#ef5b5b}
.os-status-btn:not(.active){
  opacity:.45;
  filter:saturate(.55);
}
.os-status-btn.active.final{
  background:color-mix(in srgb,#42c96b 12%,var(--panel2));
}
.os-status-btn.active.open{
  background:color-mix(in srgb,#f2a61b 12%,var(--panel2));
}
.os-status-btn.active.cancel{
  background:color-mix(in srgb,#ef5b5b 11%,var(--panel2));
}
.os-filter-buttons{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.os-filter-buttons .btn{
  border-radius:999px;
  min-height:38px;
  padding:8px 16px;
}
.os-print-btn{background:#f39a00;color:#fff}
.os-clear-btn{background:#218fea;color:#fff}
.os-search-btn{background:var(--red);color:#fff}
.os-quick-dates{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:9px;
}
.os-quick-dates button{
  border:0;
  border-radius:999px;
  background:var(--red);
  color:#fff;
  padding:8px 13px;
  font-size:11px;
  font-weight:850;
}
.os-order-list{
  display:grid;
  gap:10px;
}
.os-order-card{
  position:relative;
  min-height:86px;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:11px 18px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--panel);
  overflow:hidden;
  cursor:pointer;
  transition:.15s;
}
.os-order-card::after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:32%;
  pointer-events:none;
  opacity:.85;
}
.os-order-card.open::after{
  background:linear-gradient(90deg,transparent,color-mix(in srgb,#f3a91c 74%,transparent));
}
.os-order-card.final::after{
  background:linear-gradient(90deg,transparent,color-mix(in srgb,#54d978 62%,transparent));
}
.os-order-card.cancel::after{
  background:linear-gradient(90deg,transparent,color-mix(in srgb,#ef5b5b 60%,transparent));
}
.os-order-card:hover{
  border-color:color-mix(in srgb,var(--red) 55%,var(--border));
  transform:translateY(-1px);
}
.os-card-avatar{
  width:42px;height:42px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:color-mix(in srgb,var(--red) 16%,var(--panel3));
  color:var(--text);
  font-weight:900;
  border:1px solid var(--border);
  position:relative;
  z-index:1;
}
.os-card-main{
  min-width:0;
  position:relative;
  z-index:1;
}
.os-card-customer{
  color:var(--info);
  font-size:14px;
  margin-bottom:9px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.os-card-data{
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
  font-size:11px;
}
.os-card-data span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.os-card-status{
  position:relative;
  z-index:1;
  justify-self:end;
  max-width:165px;
  text-align:right;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
}
.os-order-card.final .os-card-status{color:#2fa95a}
.os-order-card.open .os-card-status{color:#ce8500}
.os-order-card.cancel .os-card-status{color:#d94b4b}
.os-list-footer{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:16px;
  margin-top:14px;
  padding:10px 2px 0;
}
.os-list-footer>span{
  color:var(--muted);
  font-size:11px;
}
.os-list-footer>.btn{
  justify-self:end;
}
.os-pager{
  display:flex;
  align-items:center;
  gap:8px;
}
.os-pager button{
  width:30px;height:30px;
  border:1px solid var(--border);
  background:var(--panel2);
  color:var(--text);
  border-radius:8px;
}
.os-pager button:disabled{opacity:.3}
.os-pager span{
  width:34px;height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--red);
  color:#fff;
  font-weight:900;
}
.os-pager small{
  min-width:40px;
  text-align:center;
  color:var(--muted);
}
.os-empty{
  border:1px dashed var(--border);
  border-radius:12px;
  background:var(--panel);
}

@media(max-width:1100px){
  .os-filter-grid{grid-template-columns:1fr 1fr 1fr}
  .os-filter-grid .os-client-field,
  .os-filter-grid .field:last-child{grid-column:auto}
  .os-filter-actions{align-items:stretch;flex-direction:column}
  .os-filter-buttons{justify-content:flex-start}
}
@media(max-width:700px){
  .top-quick-actions{display:none}
  .os-filter-grid{grid-template-columns:1fr}
  .os-filter-actions{margin-top:14px}
  .os-status-buttons,.os-filter-buttons{display:grid;grid-template-columns:1fr}
  .os-order-card{grid-template-columns:44px 1fr}
  .os-card-status{grid-column:2;justify-self:start;text-align:left}
  .os-card-data{gap:10px}
  .os-list-footer{grid-template-columns:1fr;justify-items:stretch}
  .os-list-footer>.btn{justify-self:stretch}
  .os-pager{justify-content:center}
}


/* ===== Rodada OS detalhada — fluxo comercial com visual Pronto Flux ===== */
.os-card-side{
  position:relative;z-index:3;display:grid;justify-items:end;gap:8px;
}
.os-card-menu-wrap{position:relative}
.os-card-options{font-size:10px;padding:7px 9px}
.os-card-menu-wrap .entity-options-menu{right:0;top:calc(100% + 5px);bottom:auto;min-width:170px}

.os-detail-page{
  position:relative;
  padding-bottom:92px;
}
.os-detail-hero{
  min-height:78px;
  margin:-24px -24px 0;
  padding:13px 24px;
  display:grid;
  grid-template-columns:44px 1fr auto;
  align-items:center;
  gap:14px;
  color:#fff;
  background:linear-gradient(135deg,#741014,var(--red));
  border-bottom:1px solid color-mix(in srgb,var(--red) 65%,#000);
}
.os-detail-hero.open{background:linear-gradient(135deg,#671217,var(--red))}
.os-detail-hero.working{background:linear-gradient(135deg,#661117,#a71921)}
.os-detail-hero.final{background:linear-gradient(135deg,#17683d,#269d61)}
.os-detail-hero.cancel{background:linear-gradient(135deg,#61151a,#9f1f25)}
.os-detail-back{
  width:40px;height:40px;border:0;border-radius:10px;background:rgba(255,255,255,.12);
  color:#fff;font-size:20px;display:grid;place-items:center;
}
.os-detail-back:hover{background:rgba(255,255,255,.2)}
.os-detail-hero h1{margin:0;font-size:28px;line-height:1.05;text-align:center}
.os-detail-hero>div:nth-child(2)>span{display:block;text-align:center;font-size:12px;opacity:.82;margin-top:4px}
.os-detail-hero-side{display:grid;gap:3px;text-align:right;font-size:12px;max-width:300px}
.os-detail-hero-side span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.os-detail-tabs{
  margin:0 -24px 14px;
  padding:0 24px;
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  background:var(--panel);
  border-bottom:1px solid var(--border);
}
.os-detail-tabs button{
  min-height:47px;border:0;border-bottom:3px solid transparent;
  background:transparent;color:var(--muted);font-size:11px;font-weight:900;
  letter-spacing:.02em;
}
.os-detail-tabs button:hover{color:var(--text);background:var(--panel2)}
.os-detail-tabs button.active{
  color:#fff;background:var(--red);border-bottom-color:var(--red);
}

.os-detail-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 22px;
  padding:16px 18px;
  border:1px solid var(--border);
  background:var(--panel);
  border-radius:15px;
  box-shadow:var(--shadow);
  margin-bottom:15px;
}
.os-detail-summary>div{
  min-width:0;display:grid;gap:6px;padding:9px 0;border-bottom:1px dotted var(--border);
}
.os-detail-summary span{
  color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:850;
}
.os-detail-summary b{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;
}

.os-detail-body{display:grid;gap:14px}
.os-detail-card{
  background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:17px;
  box-shadow:var(--shadow);
}
.os-detail-card h2{margin:0 0 15px;font-size:20px}
.os-customer-info{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 24px;
}
.os-customer-info>div{display:grid;gap:5px;padding-bottom:9px;border-bottom:1px dotted var(--border)}
.os-customer-info span{color:var(--muted);font-size:10px;text-transform:uppercase;font-weight:850}
.os-customer-info b{font-size:13px}

.os-model-grid{
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(350px,.92fr);gap:14px;align-items:start;
}
.os-model-tabs{
  display:grid;grid-template-columns:1fr 1fr;margin:-2px -2px 18px;
  border-bottom:1px solid var(--border);
}
.os-model-tabs button{
  min-height:38px;border:0;background:var(--panel2);color:var(--muted);font-weight:900;
}
.os-model-tabs button.active{background:var(--red);color:#fff}
.os-info-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 16px;
}
.os-info-grid .field:nth-child(5){grid-column:2}
.os-status-select.open{color:var(--warning);font-weight:900}
.os-status-select.working{color:var(--info);font-weight:900}
.os-status-select.final{color:var(--success);font-weight:900}
.os-status-select.cancel{color:var(--danger);font-weight:900}
.os-internal-row{margin-top:16px;display:grid;gap:6px}
.os-internal-row label{
  display:flex;align-items:center;gap:7px;font-size:12px;font-weight:850;
}
.os-internal-row label button{
  border:0;background:transparent;color:var(--info);padding:0;font-size:15px;
}
.os-internal-row small{justify-self:end;color:var(--muted);font-size:10px}
.os-flat-textarea{
  min-height:62px;border-radius:0!important;border-width:0 0 1px!important;
  background:transparent!important;padding-left:0!important;padding-right:0!important;
  box-shadow:none!important;
}
.os-accessories{margin-top:17px;padding-top:4px}
.os-accessories h3{font-size:14px;margin:0 0 10px}
.os-accessories>div{
  display:grid;grid-template-columns:1fr 1fr;gap:8px 24px;
  border-top:1px solid var(--border);padding-top:12px;
}
.os-accessories label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}
.os-accessories input{accent-color:var(--red);width:17px;height:17px}
.os-model-actions{
  display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:18px;
}
.os-photo-btn{background:#e89a12;color:#fff}
.os-model-list{padding:0;overflow:hidden}
.os-model-list h2{padding:15px 16px;margin:0;background:var(--red);color:#fff;font-size:16px}
.os-model-list-head,.os-model-list-row{
  display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:11px 15px;
}
.os-model-list-head{background:color-mix(in srgb,var(--red) 78%,var(--panel));color:#fff;font-size:11px;font-weight:900}
.os-model-list-row{position:relative;border-bottom:1px solid var(--border);font-size:12px}
.os-model-list-row b{color:var(--info)}
.os-model-list-row small{grid-column:1/-1;color:var(--muted)}

.os-section-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;
}
.os-section-head h2{margin:0}
.os-items-table th{background:color-mix(in srgb,var(--red) 82%,var(--panel));color:#fff}
.os-item-subtotals,.os-profit-summary{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;
  padding:13px;background:var(--panel2);border-radius:12px;border:1px solid var(--border);
}
.os-item-subtotals>div,.os-profit-summary>div{display:grid;gap:5px}
.os-item-subtotals span,.os-profit-summary span{font-size:10px;color:var(--muted);text-transform:uppercase;font-weight:850}
.os-item-subtotals b,.os-profit-summary b{font-size:16px}
.os-profit-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
.os-profit-summary .success b{color:var(--success)}

.os-payment-total{
  margin-top:16px;padding:18px;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  background:var(--panel2);border:1px solid var(--border);border-radius:13px;
}
.os-payment-total>div{display:grid;gap:6px}
.os-payment-total span{font-size:11px;color:var(--muted)}
.os-payment-total b{font-size:30px}
.os-payment-total strong{font-size:28px}
.os-finalize-box{
  margin-top:16px;border:1px solid var(--border);border-radius:13px;overflow:hidden;
}
.os-finalize-box h3{
  margin:0;padding:13px 15px;background:color-mix(in srgb,var(--red) 68%,#111);
  color:#fff;font-size:14px;
}
.os-finalize-box>div{
  padding:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
}
.os-fiscal-placeholder{text-align:center;padding:44px 20px}
.os-fiscal-placeholder p{color:var(--muted);max-width:620px;margin:0 auto;line-height:1.6}

.os-detail-footer{
  position:fixed;
  left:0;right:0;bottom:0;
  z-index:25;
  min-height:76px;
  padding:9px 24px;
  display:flex;align-items:center;justify-content:center;gap:38px;
  background:color-mix(in srgb,var(--panel) 97%,#000);
  border-top:1px solid var(--border);
  box-shadow:0 -10px 30px rgba(0,0,0,.16);
}
.os-detail-footer>div:first-child{display:grid;text-align:center;gap:2px}
.os-detail-footer>div:first-child span{font-size:11px;color:var(--muted)}
.os-detail-footer>div:first-child b{font-size:28px}
.os-detail-footer-actions{display:flex;align-items:center;gap:9px}
.os-detail-footer .btn{min-width:145px;border-radius:999px}
.os-share-btn{background:#2dac62;color:#fff}

.os-options-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:9px;
}
.os-options-grid button{
  border:1px solid var(--border);border-radius:11px;background:var(--panel2);color:var(--text);
  min-height:52px;padding:10px 14px;display:flex;align-items:center;gap:10px;text-align:left;
}
.os-options-grid button:hover{border-color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--panel2))}
.os-occurrence-list{display:grid;gap:8px}
.os-occurrence-list>div{
  display:grid;grid-template-columns:160px 1fr;gap:12px;padding:10px 12px;
  border:1px solid var(--border);background:var(--panel2);border-radius:10px;
}
.os-occurrence-list span{color:var(--muted);font-size:11px}
.os-occurrence-list b{font-size:12px;white-space:pre-wrap}

.os-photo-grid{
  min-height:260px;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;
}
.os-photo-card{
  position:relative;margin:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--panel2);
  min-height:180px;
}
.os-photo-card img{width:100%;height:100%;min-height:180px;object-fit:contain;display:block}
.os-photo-card button{
  position:absolute;right:7px;top:7px;width:30px;height:30px;border:0;border-radius:50%;
  background:var(--red);color:#fff;font-size:18px;
}
.os-photo-empty{
  grid-column:1/-1;min-height:260px;display:grid;place-content:center;text-align:center;gap:7px;color:var(--muted);
}
.os-no-camera{font-size:64px;filter:grayscale(1);opacity:.65}
.os-photo-actions{
  margin-top:14px;padding-top:14px;border-top:1px solid var(--border);
  display:flex;justify-content:flex-end;gap:8px;
}
.os-success-box{display:grid;gap:12px;padding:14px 2px 24px}
.os-success-box b{font-size:19px}
.os-success-box span{color:var(--muted)}

@media(max-width:1100px){
  .os-detail-tabs{grid-template-columns:repeat(3,1fr)}
  .os-model-grid{grid-template-columns:1fr}
  .os-detail-summary{grid-template-columns:repeat(2,1fr)}
  .os-customer-info{grid-template-columns:repeat(2,1fr)}
  .os-item-subtotals,.os-profit-summary{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .os-detail-hero{
    margin:-16px -16px 0;padding:12px 14px;grid-template-columns:38px 1fr;
  }
  .os-detail-hero-side{display:none}
  .os-detail-hero h1{font-size:20px;text-align:left}
  .os-detail-hero>div:nth-child(2)>span{text-align:left}
  .os-detail-tabs{margin:0 -16px 12px;padding:0;grid-template-columns:repeat(2,1fr)}
  .os-detail-tabs button{font-size:10px}
  .os-detail-summary,.os-customer-info,.os-info-grid{grid-template-columns:1fr}
  .os-info-grid .field:nth-child(5){grid-column:auto}
  .os-accessories>div{grid-template-columns:1fr}
  .os-item-subtotals,.os-profit-summary{grid-template-columns:1fr}
  .os-payment-total{align-items:flex-start;flex-direction:column}
  .os-payment-total strong{font-size:22px}
  .os-finalize-box>div{display:grid}
  .os-detail-footer{
    padding:8px 10px;gap:10px;justify-content:space-between;
  }
  .os-detail-footer>div:first-child b{font-size:20px}
  .os-detail-footer-actions{gap:5px}
  .os-detail-footer .btn{min-width:0;padding:9px 10px;font-size:10px}
  .os-options-grid{grid-template-columns:1fr}
}


/* ===== Nova O.S. — criação em tela própria no mesmo fluxo da O.S. ===== */
.os-create-page{position:relative}
.os-create-hero{
  min-height:78px;
  margin:-24px -24px 0;
  padding:13px 24px;
  display:grid;
  grid-template-columns:44px 1fr auto;
  align-items:center;
  gap:14px;
  color:#fff;
  background:linear-gradient(135deg,#741014,var(--red));
  border-bottom:1px solid color-mix(in srgb,var(--red) 65%,#000);
}
.os-create-hero h1{margin:0;font-size:28px;line-height:1.05;text-align:center}
.os-create-hero>div:nth-child(2)>span{display:block;text-align:center;font-size:12px;opacity:.82;margin-top:4px}
.os-create-hero-side{display:grid;gap:3px;text-align:right;font-size:11px}
.os-create-hero-side b{font-size:13px}
.os-create-tabs button:disabled{opacity:.48;cursor:not-allowed}
.os-create-shell{padding-top:8px}
.os-create-card{
  max-width:1060px;
  margin:0 auto;
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:16px;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.os-create-card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 20px;
  border-bottom:1px solid var(--border);
}
.os-create-card-head>div{display:flex;align-items:center;gap:12px}
.os-create-card-head>div>span{
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;
  background:var(--red);color:#fff;font-weight:900;
}
.os-create-card-head h2{margin:0;font-size:20px}
.os-create-card-head p{margin:3px 0 0;color:var(--muted);font-size:12px}
.os-create-client-grid{
  padding:20px;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  align-items:end;
}
.os-create-select{min-height:50px}
.os-create-selected{
  min-height:68px;
  padding:12px 14px;
  border:1px solid var(--border);
  background:var(--panel2);
  border-radius:12px;
  display:flex;
  align-items:center;
  gap:12px;
}
.os-create-avatar{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:color-mix(in srgb,var(--red) 16%,var(--panel3));
  border:1px solid var(--border);
  font-weight:900;
}
.os-create-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.os-create-search-row{grid-template-columns:150px minmax(0,1fr)}
.os-create-search-mode,.os-create-search-input{min-height:50px}
.os-create-search-hint{display:block;margin-top:7px;color:var(--muted);font-size:10px}
.os-create-client-suggestions{max-height:310px}
.os-create-client-suggestions button{padding:11px 12px}
.os-create-client-suggestions button b{font-size:13px}
.os-create-client-suggestions button small{font-size:10px;line-height:1.35}
.os-create-selected-remove{
  margin-left:auto;
  width:34px;height:34px;flex:0 0 34px;
  border:1px solid var(--border);
  border-radius:10px;
  background:transparent;
  color:var(--muted);
  font-size:20px;
  line-height:1;
}
.os-create-selected-remove:hover{border-color:var(--red);color:#fff;background:var(--red)}
.os-create-selected>div:nth-child(2){min-width:0;display:grid;gap:3px}
.os-create-selected b{
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.os-create-selected span{
  color:var(--muted);font-size:11px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.os-create-note{
  margin:0 20px 18px;
  padding:12px 14px;
  background:color-mix(in srgb,var(--red) 6%,var(--panel2));
  border:1px solid color-mix(in srgb,var(--red) 24%,var(--border));
  border-radius:11px;
  color:var(--muted);
  font-size:12px;
  line-height:1.55;
}
.os-create-note b{color:var(--text)}
.os-create-actions{
  display:flex;justify-content:flex-end;gap:8px;
  padding:15px 20px;
  border-top:1px solid var(--border);
  background:color-mix(in srgb,var(--panel2) 72%,var(--panel));
}

@media(max-width:760px){
  .os-create-hero{
    margin:-16px -16px 0;
    padding:12px 14px;
    grid-template-columns:38px 1fr;
  }
  .os-create-hero h1{text-align:left;font-size:20px}
  .os-create-hero>div:nth-child(2)>span{text-align:left}
  .os-create-hero-side{display:none}
  .os-create-tabs{
    margin:0 -16px 12px;
    padding:0;
    grid-template-columns:repeat(2,1fr);
  }
  .os-create-card{border-radius:13px}
  .os-create-card-head{
    align-items:flex-start;
    flex-direction:column;
    padding:15px;
  }
  .os-create-card-head .btn{width:100%}
  .os-create-client-grid{
    grid-template-columns:1fr;
    padding:15px;
  }
  .os-create-search-row{grid-template-columns:105px minmax(0,1fr);gap:8px}
  .os-create-search-mode,.os-create-search-input{min-height:46px}
  .os-create-selected{min-height:64px}
  .os-create-note{margin:0 15px 15px}
  .os-create-actions{
    padding:13px 15px;
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .os-create-actions .btn{width:100%;min-height:44px}
}

.os-create-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:760px){.os-create-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ===== Rodada 27/09 — busca mobile e ajustes finais da O.S. ===== */
.os-detail-tabs{
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
}
.os-create-tabs{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}
.os-status-help{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:10px;
  line-height:1.35;
}
.os-screen-lock{
  margin-top:15px;
  padding:13px;
  border:1px solid var(--border);
  background:color-mix(in srgb,var(--panel2) 74%,var(--panel));
  border-radius:12px;
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(220px,1fr);
  gap:12px;
  align-items:end;
}
.os-pattern-preview{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  color:var(--muted);
  font-size:11px;
}
.os-pattern-preview>div{
  display:grid;
  grid-template-columns:repeat(3,18px);
  gap:14px;
  padding:10px 14px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--panel);
}
.os-pattern-preview i{
  width:12px;
  height:12px;
  display:block;
  border:2px solid var(--text);
  border-radius:50%;
}
.os-pattern-preview.hidden{display:none!important}

@media(max-width:900px){
  .topbar{
    height:auto!important;
    min-height:84px;
    padding:12px 14px!important;
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    align-items:center;
    gap:10px;
  }
  .topbar .menu-toggle{grid-column:1;grid-row:1}
  .topbar .top-brand{grid-column:2;grid-row:1;min-width:0;white-space:nowrap}
  .topbar .theme-btn{grid-column:3;grid-row:1}
  .topbar .user-chip{grid-column:4;grid-row:1;min-width:0;max-width:125px}
  .topbar .top-quick-actions{display:none!important}
  .topbar .global-search{
    display:flex!important;
    grid-column:1/-1;
    grid-row:2;
    position:static!important;
    transform:none!important;
    left:auto!important;
    margin:0!important;
    width:100%!important;
    max-width:none!important;
    height:42px;
  }
  .topbar .global-search kbd{display:none!important}
}
@media(max-width:760px){
  .os-detail-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .os-create-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .os-screen-lock{
    grid-template-columns:1fr;
  }
  .os-pattern-preview{
    grid-template-columns:1fr;
  }
  .os-pattern-preview>div{
    justify-self:start;
  }
}


/* ===== Rodada 27/09 — seletor PDV de itens da O.S. + menu mobile ===== */
.os-order-card{overflow:visible!important}
.os-order-card::after{border-radius:0 11px 11px 0}
.os-card-menu-wrap{z-index:90}
.os-card-menu-wrap .entity-options-menu{z-index:120}

.os-item-picker{display:grid;gap:12px}
.os-item-picker-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
}
.os-item-search{
  min-height:50px;
  border:1px solid var(--red);
  border-radius:12px;
  background:var(--panel2);
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 13px;
}
.os-item-search span{color:var(--muted);font-size:18px}
.os-item-search input{
  width:100%;
  border:0;
  background:transparent;
  color:var(--text);
  outline:0;
  font:inherit;
}
.os-item-picker-hint{
  color:var(--muted);
  font-size:11px;
  line-height:1.45;
}
.os-item-search-results{
  display:grid;
  gap:7px;
  max-height:360px;
  overflow:auto;
}
.os-item-result{
  width:100%;
  border:1px solid var(--border);
  background:var(--panel2);
  color:var(--text);
  border-radius:12px;
  padding:10px 11px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  text-align:left;
  cursor:pointer;
}
.os-item-result:hover{
  border-color:var(--red);
  background:color-mix(in srgb,var(--red) 5%,var(--panel2));
}
.os-item-result small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}
.os-item-result-price{
  flex:0 0 auto;
  display:grid;
  justify-items:end;
  gap:4px;
}
.os-item-result-price span{
  color:var(--muted);
  font-size:9px;
  font-weight:900;
}
.os-item-result-price b{font-size:14px}

.os-item-selected{
  border:1px solid color-mix(in srgb,var(--red) 35%,var(--border));
  background:color-mix(in srgb,var(--red) 4%,var(--panel));
  border-radius:14px;
  padding:14px;
}
.os-selected-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding-bottom:11px;
  border-bottom:1px solid var(--border);
}
.os-selected-head>div{min-width:0}
.os-selected-head span{
  display:block;
  color:var(--red);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.os-selected-head h3{
  margin:3px 0 2px;
  font-size:17px;
}
.os-selected-head small{color:var(--muted)}
.os-selected-grid{
  display:grid;
  grid-template-columns:.65fr 1fr 1fr;
  gap:10px;
  margin-top:12px;
}
.os-selected-summary{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:10px;
}
.os-selected-summary>div{
  border:1px solid var(--border);
  background:var(--panel2);
  border-radius:10px;
  padding:9px 10px;
  display:grid;
  gap:4px;
}
.os-selected-summary span{
  color:var(--muted);
  font-size:9px;
  text-transform:uppercase;
  font-weight:850;
}
.os-selected-summary b{font-size:15px}
.os-selected-summary .success b{color:var(--success)}
.os-selected-note{
  margin-top:10px;
  color:var(--muted);
  font-size:10px;
}
.os-selected-note b{color:var(--text)}
.os-selected-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:12px;
}

@media(max-width:760px){
  .os-card-menu-wrap .entity-options-menu.open{
    position:fixed!important;
    left:16px!important;
    right:16px!important;
    bottom:18px!important;
    top:auto!important;
    width:auto!important;
    min-width:0!important;
    z-index:1000!important;
    padding:8px!important;
    border-radius:15px!important;
    box-shadow:0 20px 60px rgba(0,0,0,.5)!important;
  }
  .os-card-menu-wrap .entity-options-menu.open button{
    min-height:46px;
    font-size:13px;
  }
  .os-item-picker-top{grid-template-columns:1fr}
  .os-item-picker-top .btn{width:100%}
  .os-item-result{
    align-items:stretch;
    flex-direction:column;
  }
  .os-item-result-price{
    width:100%;
    grid-template-columns:1fr auto;
    align-items:center;
    justify-items:start;
  }
  .os-item-result-price b{justify-self:end}
  .os-selected-grid{grid-template-columns:1fr}
  .os-selected-summary{grid-template-columns:1fr}
  .os-selected-actions .btn{width:100%;min-height:44px}
}


/* ===== Rodada 27/09 — pagamentos parciais da O.S. e menu mobile ===== */
.os-card-avatar{
  overflow:hidden;
}
.os-card-avatar img,
.os-create-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:inherit;
}
.os-payment-entry-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin-bottom:14px;
}
.os-payment-entry-summary>div{
  border:1px solid var(--border);
  background:var(--panel2);
  border-radius:10px;
  padding:10px;
  display:grid;
  gap:4px;
}
.os-payment-entry-summary span{
  color:var(--muted);
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
}
.os-payment-entry-summary b{font-size:16px}
.os-payment-entry-summary .warning b{color:var(--warning)}

.os-payment-progress{
  margin-top:16px;
  padding:14px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) auto;
  gap:9px;
  align-items:center;
  border:1px solid var(--border);
  background:var(--panel2);
  border-radius:13px;
}
.os-payment-progress>div{
  display:grid;
  gap:4px;
}
.os-payment-progress span{
  color:var(--muted);
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
}
.os-payment-progress b{font-size:18px}
.os-payment-progress>strong{
  justify-self:end;
  font-size:17px;
}
.row-muted{opacity:.52}

/* menu de OPÇÕES da O.S. sempre acima dos cards, sem ficar no meio do próximo */
.os-card-menu-wrap{position:relative;z-index:150}
.os-card-menu-wrap .entity-options-menu.open{
  position:absolute!important;
  right:0!important;
  left:auto!important;
  top:auto!important;
  bottom:calc(100% + 8px)!important;
  z-index:1000!important;
  min-width:190px!important;
  max-width:min(240px,calc(100vw - 28px))!important;
  box-shadow:0 18px 45px rgba(0,0,0,.42)!important;
}
.os-order-card:has(.entity-options-menu.open){z-index:200}
.os-order-list{overflow:visible}
.os-order-card{overflow:visible!important}

@media(max-width:760px){
  .os-payment-entry-summary{
    grid-template-columns:1fr;
  }
  .os-payment-progress{
    grid-template-columns:1fr 1fr;
  }
  .os-payment-progress>strong{
    grid-column:1/-1;
    justify-self:start;
  }
  .os-card-menu-wrap .entity-options-menu.open{
    position:absolute!important;
    right:0!important;
    left:auto!important;
    top:auto!important;
    bottom:calc(100% + 8px)!important;
    width:min(220px,calc(100vw - 48px))!important;
    min-width:180px!important;
  }
}


/* ===== Configuração avançada de Ordens de Serviço ===== */
.os-settings-admin{margin-top:18px}
.os-settings-admin>.card-title{align-items:flex-start}
.os-settings-section{
  margin-top:14px;
  padding:16px;
  border:1px solid var(--border);
  border-radius:14px;
  background:var(--panel2);
}
.os-settings-section h4{margin:0 0 7px;font-size:16px}
.os-settings-section-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px
}
.os-business-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.os-business-card{
  min-height:135px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--panel);
  padding:14px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
}
.os-business-card.selected{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.os-business-card h4{margin:0 0 7px;font-size:14px}
.os-business-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.os-field-add-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.os-custom-editor{display:grid;gap:10px}
.os-custom-field-card{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px auto auto;
  gap:10px;
  align-items:end;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel);
  padding:12px 48px 12px 12px;
}
.os-custom-field-card .field.full{grid-column:1/-1}
.os-custom-field-order{
  position:absolute;right:9px;top:9px;display:grid;gap:4px
}
.os-custom-field-order button{
  width:28px;height:25px;border:1px solid var(--border);
  border-radius:7px;background:var(--panel2);color:var(--text)
}
.os-status-config-list{display:grid;gap:9px}
.os-status-config-card{
  min-height:60px;border-radius:11px;padding:11px 13px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:1px solid var(--border);background:var(--panel)
}
.os-status-config-card>div:first-child{display:grid;gap:3px}
.os-status-config-card small{color:var(--muted);font-size:10px}
.os-status-config-card.open{border-left:5px solid var(--warning)}
.os-status-config-card.working{border-left:5px solid var(--info)}
.os-status-config-card.final{border-left:5px solid var(--success)}
.os-status-config-card.cancel{border-left:5px solid var(--danger)}
.os-status-config-actions{display:flex;align-items:center;gap:7px;min-width:min(420px,50%)}
.os-settings-save{display:flex;justify-content:flex-end;margin-top:15px}
.os-terms-textarea{min-height:150px;line-height:1.45}

/* Pesquisa de cliente na listagem de O.S. */
.os-client-search-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px}
.os-client-search-box{position:relative}
.os-client-suggestions{
  position:absolute;z-index:500;left:0;right:0;top:calc(100% + 5px);
  border:1px solid var(--border);border-radius:11px;background:var(--panel);
  box-shadow:0 18px 40px rgba(0,0,0,.35);padding:6px;max-height:270px;overflow:auto
}
.os-client-suggestions button{
  width:100%;border:0;background:transparent;color:var(--text);text-align:left;
  padding:9px 10px;border-radius:8px;display:grid;gap:2px
}
.os-client-suggestions button:hover{background:var(--panel2)}
.os-client-suggestions small{color:var(--muted);font-size:10px}

/* Campos personalizados dentro da O.S. */
.os-custom-live-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.os-custom-live-field{min-width:0}
.os-custom-live-field.static{
  grid-column:1/-1;border:1px solid var(--border);border-radius:10px;background:var(--panel2);padding:11px
}
.os-custom-live-field.static p{margin:5px 0 0;white-space:pre-wrap;color:var(--muted)}
.os-custom-live-grid .os-custom-live-field:has(textarea){grid-column:1/-1}
.os-model-tabs button{cursor:pointer}
.os-model-tabs button:hover{filter:brightness(1.05)}
.os-duplicate-warning{display:grid;gap:10px;line-height:1.5}
.os-duplicate-warning h3{margin:0;font-size:18px}
.os-duplicate-warning p{margin:0;color:var(--muted)}
.os-refund-cancel{display:grid;gap:12px;line-height:1.5}
.os-refund-cancel p{margin:0}

/* Primeiro acesso às O.S. */
.os-first-setup{max-width:1120px;margin:0 auto}
.os-first-setup>h2{margin:0 0 6px}
.os-first-setup>.os-business-grid{margin-top:16px}

@media(max-width:900px){
  .os-business-grid{grid-template-columns:1fr}
  .os-custom-field-card{grid-template-columns:1fr;padding-right:48px}
  .os-custom-field-card .field.full{grid-column:auto}
  .os-status-config-card{align-items:flex-start;flex-direction:column}
  .os-status-config-actions{width:100%;min-width:0}
  .os-field-add-actions{justify-content:flex-start}
}
@media(max-width:760px){
  .os-client-search-row{grid-template-columns:105px minmax(0,1fr)}
  .os-custom-live-grid{grid-template-columns:1fr}
  .os-custom-live-grid .os-custom-live-field:has(textarea){grid-column:auto}
  .os-settings-section{padding:12px}
  .os-settings-section-head{flex-direction:column}
  .os-status-config-actions{flex-direction:column;align-items:stretch}
}


/* ===== Modais / feedback visual / trade-in ===== */
.modal-backdrop{
  background:rgba(4,5,7,.72);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
}
.checkout-modal{
  width:min(920px,calc(100vw - 36px))!important;
  max-height:88vh;
}
.checkout-modal .modal-body{padding:16px 18px}
.checkout-modal .modal-head{padding:14px 18px}
.checkout-modal .modal-foot{padding:12px 18px}
.checkout-notes{min-height:72px}
.checkout-total-card{padding:13px}
.checkout-total-card .sum-row{margin:6px 0}
.checkout-total-card #missingLabel{color:var(--red);font-size:16px}
.checkout-explain{
  margin-top:14px;border:1px solid var(--border);background:var(--panel2);
  border-radius:13px;padding:12px;display:grid;gap:5px
}
.checkout-explain b{font-size:12px}
.checkout-explain span{font-size:10px;color:var(--muted);line-height:1.45}

.toast-wrap{
  right:18px;bottom:18px;z-index:10050;gap:10px;
}
.toast{
  min-width:320px;max-width:460px;
  background:#17181b;border:1px solid #34363d;border-left:4px solid var(--info);
  padding:12px 12px;border-radius:14px;box-shadow:0 18px 48px rgba(0,0,0,.42);
  display:grid;grid-template-columns:34px minmax(0,1fr) 24px;gap:10px;align-items:center;
  animation:pfToastIn .2s ease-out
}
.toast.ok{border-left-color:var(--success)}
.toast.bad{border-left-color:var(--danger)}
.toast.warn{border-left-color:var(--warning)}
.toast.info{border-left-color:var(--info)}
.toast-icon{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  font-weight:950;background:color-mix(in srgb,var(--info) 18%,transparent);color:var(--info)
}
.toast.ok .toast-icon{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success)}
.toast.bad .toast-icon{background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger)}
.toast.warn .toast-icon{background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning)}
.toast-copy{display:grid;gap:3px;min-width:0}
.toast-copy b{font-size:12px;color:#fff}
.toast-copy span{font-size:11px;line-height:1.35;color:#c8cad0;overflow-wrap:anywhere}
.toast-close{border:0;background:transparent;color:#8f939e;font-size:19px;cursor:pointer}
.toast-close:hover{color:#fff}
.toast.leaving{opacity:0;transform:translateX(14px);transition:.18s ease}
@keyframes pfToastIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}

.trade-modal{width:min(780px,calc(100vw - 36px))!important;max-height:90vh}
.trade-modal .modal-body{padding:16px 18px}
.trade-steps{
  display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px
}
.trade-step{position:relative;display:grid;justify-items:center;gap:5px;color:var(--muted);font-size:10px;font-weight:850;text-align:center}
.trade-step:not(:last-child):after{
  content:"";position:absolute;top:17px;left:calc(50% + 23px);right:calc(-50% + 23px);
  height:2px;background:var(--border)
}
.trade-step.done:not(:last-child):after{background:var(--success)}
.trade-step i{
  width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-style:normal;
  border:2px solid var(--border);background:var(--panel2);position:relative;z-index:1
}
.trade-step.active{color:var(--text)}.trade-step.active i{background:#fff;color:#111;border-color:#fff}
.trade-step.done{color:var(--success)}.trade-step.done i{background:var(--success);border-color:var(--success);color:#082014}
.trade-step-body{min-height:310px}
.trade-hint{
  border:1px solid var(--border);background:var(--panel2);border-radius:13px;
  padding:11px 12px;margin-bottom:14px;display:grid;gap:4px
}
.trade-hint.warn{border-color:color-mix(in srgb,var(--warning) 42%,var(--border))}
.trade-hint b{font-size:12px}.trade-hint span{font-size:10px;color:var(--muted);line-height:1.4}
.trade-photo-grid{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}
.trade-photo-grid figure,.trade-photo-add{
  width:92px;height:92px;border:1px dashed var(--border);border-radius:12px;background:var(--panel2);
  margin:0;position:relative;overflow:hidden
}
.trade-photo-grid figure img{width:100%;height:100%;object-fit:cover}
.trade-photo-grid figure button{
  position:absolute;right:5px;top:5px;width:22px;height:22px;border:0;border-radius:50%;
  background:rgba(0,0,0,.75);color:#fff;cursor:pointer
}
.trade-photo-add{color:var(--muted);display:grid;place-items:center;align-content:center;gap:2px;font-size:22px;cursor:pointer}
.trade-photo-add span{font-size:9px}
.trade-anatel{
  display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--border);
  margin-top:14px;padding-top:14px
}
.trade-anatel>div{display:grid;gap:3px}.trade-anatel span{font-size:10px;color:var(--muted)}
.trade-check{display:flex;gap:8px;align-items:center;margin:12px 0;font-size:11px}
.trade-anatel-extra{opacity:.65}
.trade-security-list{display:grid;gap:8px;margin-bottom:16px}
.trade-security-list label{
  display:flex;gap:9px;align-items:center;border:1px solid var(--border);background:var(--panel2);
  padding:11px;border-radius:11px;font-size:11px;font-weight:700
}
.trade-physical-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px 12px}
.trade-physical-grid>div{display:grid;grid-template-columns:1fr 135px;align-items:center;gap:8px}
.trade-physical-grid label{font-size:10px}
.trade-credit{font-size:22px;font-weight:900}
.trade-summary{
  display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid color-mix(in srgb,var(--success) 38%,var(--border));
  background:color-mix(in srgb,var(--success) 7%,var(--panel2));border-radius:13px;padding:11px 12px;margin:10px 0
}
.trade-summary>div{display:grid;gap:2px;min-width:0}
.trade-summary span{font-size:9px;color:var(--success);font-weight:900;letter-spacing:.05em}
.trade-summary b{font-size:12px}.trade-summary small{font-size:9px;color:var(--muted)}
.trade-summary strong{color:var(--success);white-space:nowrap}
.trade-summary-actions{display:flex;gap:7px;justify-content:flex-end;margin-top:-3px;margin-bottom:10px}
.trade-entry-btn{min-height:44px}
.trade-term-preview{
  border:1px solid var(--border);border-radius:12px;padding:11px;background:var(--panel2);margin-top:14px
}
.trade-term-preview b{font-size:11px}.trade-term-preview p{margin:5px 0 0;font-size:9.5px;color:var(--muted);line-height:1.45}
.os-payment-modal{width:min(850px,calc(100vw - 36px))!important}

@media(max-width:720px){
  .checkout-modal,.trade-modal,.os-payment-modal{width:min(100%,calc(100vw - 18px))!important;max-height:94vh}
  .checkout-split{grid-template-columns:1fr}
  .trade-steps{gap:2px}
  .trade-step span{font-size:8px}
  .trade-step i{width:30px;height:30px}
  .trade-step:not(:last-child):after{top:15px;left:calc(50% + 20px);right:calc(-50% + 20px)}
  .trade-physical-grid{grid-template-columns:1fr}
  .trade-anatel{align-items:stretch;flex-direction:column}
  .toast-wrap{left:10px;right:10px;bottom:10px}
  .toast{min-width:0;max-width:none;width:100%}
}


/* ===== Rodada 28/09 — UX PDV, múltiplos trade-ins, cards de usados e caixa automático ===== */

/* Toasts no topo, sem esconder os botões do rodapé */
.toast-wrap{
  top:82px!important;
  bottom:auto!important;
  right:18px!important;
  left:auto!important;
  align-content:start!important;
  z-index:10050!important;
}
@media(max-width:520px){
  .toast-wrap{top:68px!important;bottom:auto!important;left:10px!important;right:10px!important}
}

/* Carrinho com mais área útil antes de criar rolagem interna */
.pdv-cart{max-height:calc(100vh - 88px)!important}
.pdv-cart #cartList{
  min-height:280px;
  max-height:clamp(320px,48vh,540px)!important;
  overflow:auto;
}

/* Finalização mais compacta */
.checkout-modal{
  width:min(900px,calc(100vw - 30px))!important;
  max-height:92vh!important;
}
.checkout-modal .modal-body{padding:13px 16px!important}
.checkout-modal .modal-head{padding:12px 16px!important}
.checkout-modal .modal-foot{padding:10px 16px!important}
.checkout-split{grid-template-columns:minmax(0,1.08fr) minmax(280px,.72fr)!important;gap:12px!important}
.checkout-section-title{margin:12px 0 7px!important}
.checkout-notes{min-height:58px!important}
.checkout-total-card{padding:11px 12px!important}
.checkout-payment-form{gap:8px!important}
.checkout-payment-list{
  max-height:170px;
  overflow:auto;
  padding-right:3px;
}
.checkout-payment-list .list-card{padding:9px 10px;margin-bottom:6px}
.checkout-payment-empty{padding:18px 10px!important}
.checkout-side{min-width:0}
.checkout-change-row{
  margin-top:8px!important;padding:8px 10px;border-radius:10px;
  background:color-mix(in srgb,var(--warning) 13%,var(--panel2));
  border:1px solid color-mix(in srgb,var(--warning) 42%,var(--border));
}
.checkout-change-row strong{color:var(--warning)!important;font-size:17px}
.checkout-change-alert{
  display:grid;gap:4px;margin:12px 0;padding:12px 14px;border-radius:12px;
  border:1px solid color-mix(in srgb,var(--warning) 45%,var(--border));
  background:color-mix(in srgb,var(--warning) 10%,var(--panel2));
}
.checkout-change-alert span{font-size:10px;font-weight:950;color:var(--warning);letter-spacing:.05em}
.checkout-change-alert strong{font-size:23px;color:var(--warning)}
.checkout-change-alert small{color:var(--muted);line-height:1.4}
.trade-empty-note{padding:8px 2px}
.trade-multi-list{display:grid;gap:8px;margin-bottom:8px}
.trade-multi-item{
  padding:8px;border:1px solid var(--border);border-radius:13px;background:var(--panel2)
}
.trade-multi-item .trade-summary{margin:0 0 5px}
.trade-multi-item .trade-summary-actions{margin:0}
.trade-entry-btn{margin-top:7px}

/* Caixa fechado pelo sistema */
.cash-auto-closed{border-color:color-mix(in srgb,var(--warning) 38%,var(--border))!important}
.cash-auto-note{
  margin:10px 0 0;padding:9px 10px;border-radius:10px;
  color:var(--warning);background:color-mix(in srgb,var(--warning) 9%,var(--panel2));
  border:1px solid color-mix(in srgb,var(--warning) 30%,var(--border));
  font-size:10px;line-height:1.4
}

/* Compra de aparelhos em cards */
.device-purchase-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(355px,1fr));gap:14px
}
.device-purchase-card{
  display:grid;grid-template-columns:112px 1fr;gap:13px;
  background:var(--panel);border:1px solid var(--border);border-radius:17px;padding:13px;
  cursor:pointer;transition:.17s ease;min-width:0
}
.device-purchase-card:hover{
  border-color:var(--red);transform:translateY(-1px);box-shadow:0 12px 30px rgba(0,0,0,.16)
}
.device-purchase-thumb{
  height:132px;border:1px solid var(--border);border-radius:13px;background:var(--panel2);
  display:grid;place-items:center;overflow:hidden;color:var(--muted);font-size:30px
}
.device-purchase-thumb img{width:100%;height:100%;object-fit:cover}
.device-purchase-card-main{display:grid;gap:9px;min-width:0}
.device-purchase-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.device-purchase-card-top h3{margin:6px 0 2px;font-size:16px;line-height:1.2}
.device-purchase-card-top small{color:var(--muted)}
.device-purchase-card-top>strong{color:var(--success);font-size:16px;white-space:nowrap}
.device-purchase-card-info{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;font-size:10px;color:var(--muted)}
.device-purchase-card-info b{color:var(--text)}
.device-purchase-card-foot{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  border-top:1px solid var(--border);padding-top:8px;color:var(--muted);font-size:10px
}

/* Detalhe completo do aparelho */
.device-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}
.device-detail-main,.device-detail-side{display:grid;gap:14px}
.device-detail-hero{display:grid;grid-template-columns:145px 1fr;gap:16px;align-items:center}
.device-detail-main-photo{
  height:145px;border:1px solid var(--border);border-radius:14px;background:var(--panel2);
  display:grid;place-items:center;overflow:hidden;font-size:35px;color:var(--muted)
}
.device-detail-main-photo img{width:100%;height:100%;object-fit:cover}
.device-detail-hero h2{margin:9px 0 4px;font-size:22px}
.device-detail-hero p{margin:0;color:var(--muted)}
.device-detail-price{font-size:22px;font-weight:950;color:var(--success);margin-top:9px}
.device-detail-data{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.device-detail-data.single{grid-template-columns:1fr}
.device-detail-data>div{
  display:grid;gap:3px;padding:9px 10px;background:var(--panel2);border:1px solid var(--border);border-radius:10px
}
.device-detail-data span{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:850}
.device-detail-data b{font-size:12px}
.device-defects{margin-top:10px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2)}
.device-defects span{font-size:9px;text-transform:uppercase;color:var(--muted);font-weight:850}
.device-defects p{margin:5px 0 0;white-space:pre-wrap;line-height:1.45}
.device-detail-gallery{display:flex;gap:8px;flex-wrap:wrap}
.device-detail-gallery button{
  width:105px;height:105px;padding:0;border:1px solid var(--border);border-radius:11px;overflow:hidden;
  background:var(--panel2);cursor:pointer
}
.device-detail-gallery img{width:100%;height:100%;object-fit:cover}
.device-image-preview{text-align:center;max-height:72vh;overflow:auto}
.device-image-preview img{max-width:100%;max-height:68vh;object-fit:contain;border-radius:10px}
.device-check-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.device-check-grid>div{
  display:flex;justify-content:space-between;gap:10px;padding:8px 9px;border-radius:9px;background:var(--panel2);border:1px solid var(--border)
}
.device-check-grid span{font-size:10px;color:var(--muted)}
.device-check-grid b{font-size:10px;text-transform:capitalize}
.device-seller-profile{display:flex;gap:11px;align-items:center;margin-bottom:13px}
.device-seller-profile img,.device-seller-avatar{
  width:58px;height:58px;border-radius:50%;object-fit:cover;background:var(--panel2);border:1px solid var(--border);
  display:grid;place-items:center;font-weight:900
}
.device-seller-profile>div:last-child{display:grid;gap:3px;min-width:0}
.device-seller-profile span{font-size:10px;color:var(--muted)}
.device-term{
  white-space:pre-wrap;margin:0;font-family:inherit;font-size:10px;line-height:1.48;
  color:var(--text);background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:12px
}
.product-card-focus{
  outline:2px solid var(--success);outline-offset:3px;
  animation:productFocusPulse 1.1s ease 2
}
@keyframes productFocusPulse{50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--success) 16%,transparent)}}

/* O.S. pagamento com vários aparelhos */
.os-payment-modal .trade-multi-list{max-height:240px;overflow:auto;padding-right:3px}

@media(max-width:900px){
  .device-detail-layout{grid-template-columns:1fr}
  .device-detail-side{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .checkout-split{grid-template-columns:1fr!important}
  .checkout-payment-list{max-height:130px}
  .device-purchase-grid{grid-template-columns:1fr}
  .device-purchase-card{grid-template-columns:90px 1fr}
  .device-purchase-thumb{height:112px}
  .device-detail-side{grid-template-columns:1fr}
  .device-detail-hero{grid-template-columns:100px 1fr}
  .device-detail-main-photo{height:105px}
  .device-detail-data,.device-check-grid{grid-template-columns:1fr}
}


/* Histórico de aparelhos usados em venda/O.S. */
.sale-trade-list{display:grid;gap:8px;margin-top:10px}
.sale-trade-row{
  display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;
  padding:10px 11px;border:1px solid var(--border);border-radius:11px;background:var(--panel2)
}
.sale-trade-row>div{display:grid;gap:3px;min-width:0}
.sale-trade-row span{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.sale-trade-row strong{color:var(--success);white-space:nowrap}
.sale-trade-total{display:flex;justify-content:flex-end;gap:20px;margin-top:9px;font-size:12px}
.os-trade-history{margin:12px 0}
.public-trade-list{display:grid;gap:7px;margin-bottom:10px}
.public-trade-list>div{
  display:flex;justify-content:space-between;gap:15px;padding:9px 10px;border:1px solid #ddd;border-radius:9px
}
@media(max-width:620px){
  .sale-trade-row{grid-template-columns:1fr auto}
  .sale-trade-row button{grid-column:1/-1}
}


/* ===== Estoque compacto / reposição ===== */
.inventory-page{display:grid;gap:15px}
.inventory-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:18px;
  padding-bottom:14px;border-bottom:1px solid var(--border)
}
.inventory-head h1{margin:3px 0 4px;font-size:28px;line-height:1}
.inventory-head p{margin:0;color:var(--muted);font-size:12px}
.inventory-eyebrow{font-size:10px;letter-spacing:.08em;color:var(--muted);font-weight:850}
.inventory-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.inventory-head-actions .btn{margin:0}

.inventory-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.inventory-kpi{
  min-height:82px;text-align:left;border:1px solid var(--border);background:var(--panel);
  color:var(--text);border-radius:13px;padding:12px 13px;cursor:pointer;display:grid;gap:3px
}
.inventory-kpi:hover,.inventory-kpi.active{border-color:var(--red)}
.inventory-kpi span{font-size:9px;font-weight:900;color:var(--muted);letter-spacing:.05em}
.inventory-kpi b{font-size:20px;line-height:1.05}
.inventory-kpi small{font-size:9px;color:var(--success);font-weight:800}
.inventory-kpi.reorder{background:color-mix(in srgb,var(--danger) 8%,var(--panel))}
.inventory-kpi.reorder small{color:var(--danger)}
.inventory-kpi.buy small{color:var(--muted)}

.inventory-batch-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.inventory-batch{
  min-height:42px;border-radius:11px;background:transparent;color:var(--text);
  border:1px solid var(--border);font-weight:900;cursor:pointer
}
.inventory-batch.receive{border-color:color-mix(in srgb,var(--success) 65%,var(--border));color:var(--success)}
.inventory-batch.lower{border-color:color-mix(in srgb,var(--danger) 60%,var(--border));color:var(--danger)}
.inventory-batch:hover{background:var(--panel2)}

.inventory-tabs{
  width:max-content;max-width:100%;display:flex;gap:2px;padding:3px;border:1px solid var(--border);
  background:var(--panel);border-radius:10px;overflow:auto
}
.inventory-tabs button{
  border:0;background:transparent;color:var(--muted);padding:7px 10px;border-radius:7px;
  font-size:10px;font-weight:850;white-space:nowrap;cursor:pointer
}
.inventory-tabs button.active{background:var(--panel3);color:var(--text)}
.inventory-tabs span{opacity:.7;margin-left:3px}

.inventory-filters{display:grid;grid-template-columns:minmax(220px,1fr) 220px auto;gap:8px;align-items:center}
.inventory-view-toggle{
  display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);background:var(--panel);
  border-radius:10px;overflow:hidden
}
.inventory-view-toggle button{
  min-height:40px;border:0;background:transparent;color:var(--muted);padding:0 12px;font-size:10px;font-weight:850;cursor:pointer
}
.inventory-view-toggle button.active{background:var(--text);color:var(--bg)}
.inventory-result-info{font-size:10px;color:var(--muted);font-weight:750}

.inventory-product-grid{
  grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;
  gap:9px!important
}
.inventory-product-card{
  padding:10px!important;min-height:0!important;border-radius:12px!important;
  overflow:visible!important
}
.inventory-card-top{
  display:grid;grid-template-columns:16px 40px minmax(0,1fr) auto auto;gap:7px;align-items:start
}
.inventory-card-check{padding-top:4px}
.inventory-card-check span{display:block;width:14px;height:14px;border:1px solid var(--border);border-radius:3px;background:var(--panel2)}
.inventory-product-card .product-card-thumb{
  width:40px!important;height:40px!important;border-radius:9px!important;font-size:17px!important
}
.inventory-product-card .product-card-head h3{
  font-size:12px!important;line-height:1.2!important;margin:4px 0 3px!important;
  max-height:30px;overflow:hidden
}
.inventory-product-card .product-meta{font-size:8px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inventory-card-tags{display:flex;gap:4px;align-items:center;min-height:14px}
.inventory-card-tags .tag{padding:2px 5px!important;font-size:7px!important;line-height:1!important}
.inventory-card-quick{display:flex;gap:3px}
.inventory-card-quick button,.inventory-dots{
  width:27px;height:27px;border:1px solid var(--border);background:var(--panel2);
  color:var(--text);border-radius:8px;font-weight:950;cursor:pointer;display:grid;place-items:center;padding:0
}
.inventory-card-quick button:hover,.inventory-dots:hover{border-color:var(--red)}
.inventory-card-quick [data-stock-plus]{color:var(--success)}
.inventory-card-menu{margin:0!important}
.inventory-card-menu .product-options-menu{bottom:auto!important;top:calc(100% + 6px)!important;right:0!important}
.inventory-card-metrics{
  margin-top:10px;display:grid;grid-template-columns:repeat(3,1fr);gap:5px
}
.inventory-card-metrics>div{
  min-width:0;text-align:center;padding:7px 5px;border-radius:8px;background:var(--panel2);border:1px solid var(--border)
}
.inventory-card-metrics span{display:block;font-size:7px;color:var(--muted);font-weight:900;letter-spacing:.04em}
.inventory-card-metrics b{display:block;font-size:13px;margin-top:3px}
.inventory-card-metrics .buy{background:color-mix(in srgb,var(--success) 9%,var(--panel2))}
.inventory-card-metrics .buy b{color:var(--success)}
.inventory-card-metrics b.warning{color:var(--warning)}
.inventory-card-metrics b.danger{color:var(--danger)}
.inventory-service-price{
  margin-top:10px;display:flex;align-items:center;justify-content:space-between;
  padding:8px 9px;border:1px solid var(--border);background:var(--panel2);border-radius:8px
}
.inventory-service-price span{font-size:8px;color:var(--muted);font-weight:900}
.inventory-service-price b{font-size:13px}
.inventory-empty{grid-column:1/-1}

.inventory-product-grid.list-mode{display:grid!important;grid-template-columns:1fr!important;gap:6px!important}
.inventory-product-grid.list-mode .inventory-product-card{
  display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.75fr);align-items:center;gap:12px
}
.inventory-product-grid.list-mode .inventory-card-metrics,
.inventory-product-grid.list-mode .inventory-service-price{margin-top:0}
.inventory-product-grid.list-mode .inventory-card-top{grid-template-columns:16px 36px minmax(0,1fr) auto auto}
.inventory-product-grid.list-mode .product-card-thumb{width:36px!important;height:36px!important}

.stock-batch-note{
  margin-bottom:12px;padding:10px 12px;border:1px solid var(--border);
  background:var(--panel2);border-radius:11px;color:var(--muted);font-size:11px;line-height:1.45
}
.inventory-batch-table{
  border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:13px
}
.inventory-batch-search{padding:10px;border-bottom:1px solid var(--border);background:var(--panel2)}
.inventory-batch-table>#batchRows,
.inventory-batch-table>#inventoryRows{max-height:50vh;overflow:auto}
.inventory-batch-row{
  display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:12px;align-items:center;
  padding:9px 10px;border-bottom:1px solid var(--border)
}
.inventory-batch-row:last-child{border-bottom:0}
.inventory-batch-item{display:flex;align-items:center;gap:9px;min-width:0}
.inventory-batch-item>div:last-child{display:grid;gap:3px;min-width:0}
.inventory-batch-item b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inventory-batch-item span{font-size:9px;color:var(--muted)}
.inventory-batch-thumb{
  width:34px;height:34px;flex:0 0 34px;border:1px solid var(--border);border-radius:8px;
  background:var(--panel2);display:grid;place-items:center;overflow:hidden
}
.inventory-batch-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
.inventory-batch-row .field{margin:0}
.inventory-batch-row .field label{font-size:8px}
.inventory-batch-row .input{padding:8px 9px}

@media(max-width:850px){
  .inventory-head{flex-direction:column}
  .inventory-head-actions{justify-content:flex-start}
  .inventory-kpis{grid-template-columns:1fr}
  .inventory-filters{grid-template-columns:1fr 1fr}
  .inventory-filters .grow{grid-column:1/-1}
  .inventory-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .inventory-product-grid.list-mode .inventory-product-card{grid-template-columns:1fr}
}
@media(max-width:560px){
  .inventory-batch-actions,.inventory-filters{grid-template-columns:1fr}
  .inventory-filters .grow{grid-column:auto}
  .inventory-product-grid{grid-template-columns:1fr!important}
  .inventory-card-top{grid-template-columns:14px 38px minmax(0,1fr) auto}
  .inventory-card-menu{grid-column:4;grid-row:1}
  .inventory-card-quick{grid-column:3/5;justify-content:flex-end}
  .inventory-batch-row{grid-template-columns:1fr 100px}
}


/* ===== O.S. com multiplos aparelhos ===== */
.os-general-card,.os-devices-card{margin-bottom:14px}
.os-general-card .os-section-head,.os-devices-card .os-section-head{align-items:flex-start}
.os-device-list{display:grid;gap:9px;margin-top:12px}
.os-device-card{
  display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;
  border:1px solid var(--border);background:var(--panel2);border-radius:13px;padding:10px
}
.os-device-card-index{
  width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  background:var(--panel3);border:1px solid var(--border);font-size:13px;font-weight:950;color:var(--text)
}
.os-device-card-main{min-width:0}
.os-device-card-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px
}
.os-device-card-head h3{margin:2px 0 0;font-size:14px;line-height:1.25}
.os-device-card-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.os-device-card-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px
}
.os-device-card-grid>div{
  padding:7px 8px;border:1px solid var(--border);background:var(--panel);
  border-radius:9px;min-width:0
}
.os-device-card-grid span{
  display:block;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;
  letter-spacing:.04em;margin-bottom:3px
}
.os-device-card-grid b{
  display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.os-device-problem{
  margin-top:8px;border-left:3px solid var(--red);padding:7px 9px;background:var(--panel);border-radius:0 8px 8px 0
}
.os-device-problem span{display:block;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}
.os-device-problem p{margin:3px 0 0;font-size:11px;line-height:1.4}
.os-device-empty{
  display:grid;justify-items:center;gap:5px;padding:25px 15px;border:1px dashed var(--border);
  border-radius:12px;color:var(--muted);text-align:center
}
.os-device-empty b{color:var(--text);font-size:13px}
.os-device-empty span{font-size:11px}
.os-device-editor{display:grid;gap:13px}
.os-device-lock{margin-top:2px;padding-top:12px;border-top:1px solid var(--border)}
.os-device-editor .os-custom-live-grid{margin-top:0}
.os-items-table td:first-child{min-width:150px}

@media(max-width:900px){
  .os-device-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .os-device-card{grid-template-columns:30px minmax(0,1fr);padding:9px;gap:8px}
  .os-device-card-index{width:28px;height:28px;border-radius:8px;font-size:11px}
  .os-device-card-head{flex-direction:column}
  .os-device-card-actions{justify-content:flex-start}
  .os-device-card-grid{grid-template-columns:1fr}
}


/* ===== PDV: carrinho maior sem esconder faturamento ===== */
@media(min-width:1101px){
  .pdv-main-layout{align-items:start}
  .pdv-cart{
    height:calc(100vh - 102px);
    max-height:calc(100vh - 102px)!important;
    min-height:470px;
    display:grid!important;
    grid-template-rows:auto minmax(150px,1fr) auto;
    overflow:hidden!important;
    position:sticky;
    top:88px;
  }
  .pdv-cart .cart-head{
    flex:0 0 auto;
  }
  .pdv-cart .cart-list{
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  .pdv-cart .cart-total{
    flex:0 0 auto!important;
    min-height:0;
    max-height:none!important;
    overflow:visible!important;
    padding:11px 14px 13px!important;
  }
  .pdv-cart .pdv-totals-title{margin-bottom:7px}
  .pdv-cart .sum-row{margin:6px 0}
  .pdv-cart .coupon-entry{margin:8px 0}
  .pdv-cart .delivery-row{margin-top:7px;padding-top:6px}
  .pdv-cart .pdv-grand-total{margin-top:8px;padding-top:9px}
  .pdv-cart .pdv-checkout-btn{min-height:44px;margin-top:9px}
}


/* ===== Rodada 28/09 — checkout compacto + ficha/etiqueta de aparelhos ===== */

/* Finalização da venda: fluxo principal à esquerda, apoio compacto à direita */
.checkout-modal{
  width:min(900px,calc(100vw - 24px))!important;
  max-height:94vh!important;
}
.checkout-modal .modal-body{padding:11px 14px!important}
.checkout-modal .modal-head{padding:11px 14px!important}
.checkout-modal .modal-foot{padding:9px 14px!important}
.checkout-split{
  grid-template-columns:minmax(0,1fr) 270px!important;
  gap:10px!important;
  align-items:start!important;
}
.checkout-section-title{margin:9px 0 5px!important}
.checkout-notes{min-height:48px!important;max-height:76px}
.checkout-total-card{padding:10px 11px!important}
.checkout-total-card .sum-row{margin:4px 0!important}
.checkout-payment-entry{
  margin-top:14px;
  padding-top:10px;
  border-top:1px solid var(--border);
}
.checkout-payment-form{grid-template-columns:1fr 1fr!important;gap:7px!important}
.checkout-payment-entry .field{margin-bottom:0!important}
.checkout-add-payment{margin-top:7px!important;min-height:39px}
.trade-empty-note{padding:5px 2px!important}
.trade-entry-btn{min-height:40px!important;margin-top:5px!important}
.trade-multi-list{gap:6px!important;margin-bottom:6px!important}
.trade-multi-item{padding:6px!important}
.trade-multi-item .trade-summary{padding:8px 9px!important}
.checkout-side{min-width:0}
.checkout-side-panel{
  display:grid;
  gap:9px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--panel2);
  position:sticky;
  top:0;
}
.checkout-side-panel .checkout-section-title{margin-top:0!important}
.checkout-side-status{
  display:grid;
  gap:3px;
  padding:10px 11px;
  border:1px solid color-mix(in srgb,var(--red) 35%,var(--border));
  border-radius:11px;
  background:color-mix(in srgb,var(--red) 6%,var(--panel));
}
.checkout-side-status span{font-size:8px;font-weight:950;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.checkout-side-status strong{font-size:22px;color:var(--red);line-height:1.05}
.checkout-side-status small{font-size:9px;line-height:1.35;color:var(--muted)}
.checkout-side-status.change{
  border-color:color-mix(in srgb,var(--warning) 45%,var(--border));
  background:color-mix(in srgb,var(--warning) 8%,var(--panel));
}
.checkout-side-status.change strong{color:var(--warning)}
.checkout-side-status.paid{
  border-color:color-mix(in srgb,var(--success) 45%,var(--border));
  background:color-mix(in srgb,var(--success) 8%,var(--panel));
}
.checkout-side-status.paid strong{color:var(--success)}
.checkout-payment-list{max-height:145px!important;padding-right:2px!important}
.checkout-payment-empty{padding:12px 7px!important;font-size:10px!important}
.checkout-explain{
  margin-top:0!important;
  padding:9px 10px!important;
  border-radius:10px!important;
  background:var(--panel)!important;
}
.checkout-explain b{font-size:10px!important}
.checkout-explain span{font-size:9px!important;line-height:1.35!important}

@media(max-width:720px){
  .checkout-split{grid-template-columns:1fr!important}
  .checkout-side-panel{position:static}
  .checkout-payment-form{grid-template-columns:1fr!important}
}

/* Ficha do aparelho: leitura mais rápida e ações de impressão */
.device-detail-actions{gap:6px!important;flex-wrap:wrap!important;justify-content:flex-end}
.device-detail-layout{grid-template-columns:minmax(0,1fr) 300px!important;gap:12px!important}
.device-detail-main,.device-detail-side{gap:11px!important}
.device-detail-hero{grid-template-columns:122px minmax(0,1fr)!important;gap:13px!important;padding:12px!important}
.device-detail-main-photo{height:122px!important}
.device-detail-hero h2{font-size:20px!important;margin:7px 0 3px!important}
.device-detail-price{font-size:20px!important;margin-top:7px!important}
.device-detail-badges{display:flex;gap:5px;flex-wrap:wrap}
.device-detail-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}
.device-detail-quick span{
  display:grid;gap:2px;min-width:0;padding:6px 7px;border:1px solid var(--border);
  border-radius:8px;background:var(--panel2);font-size:9px;overflow:hidden;text-overflow:ellipsis
}
.device-detail-quick b{font-size:7px;text-transform:uppercase;color:var(--muted);letter-spacing:.04em}
.device-card-title>div{display:grid;gap:2px}
.device-card-title h3{margin:0}
.device-card-title p{margin:0;color:var(--muted);font-size:9px;line-height:1.35}
.device-detail-data{gap:7px!important}
.device-detail-data>div{padding:8px 9px!important}
.device-entry-summary{display:grid;gap:9px}
.device-entry-value{
  display:flex;justify-content:space-between;align-items:end;gap:10px;
  padding:9px 10px;border-radius:10px;
  background:color-mix(in srgb,var(--success) 8%,var(--panel2));
  border:1px solid color-mix(in srgb,var(--success) 32%,var(--border));
}
.device-entry-value span{font-size:9px;color:var(--muted);font-weight:800;text-transform:uppercase}
.device-entry-value strong{font-size:19px;color:var(--success)}
.device-entry-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.device-entry-grid>div{display:grid;gap:2px;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:var(--panel2)}
.device-entry-grid span{font-size:7px;color:var(--muted);text-transform:uppercase;font-weight:900}
.device-entry-grid b{font-size:10px;overflow-wrap:anywhere}
.device-trace-flow{display:grid;gap:7px}
.device-trace-flow>div{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:center}
.device-trace-flow>div>span{
  width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  background:var(--panel2);border:1px solid var(--border);font-size:9px;font-weight:950
}
.device-trace-flow p{margin:0;display:grid;gap:1px;min-width:0}
.device-trace-flow p b{font-size:9px}
.device-trace-flow p small{font-size:9px;color:var(--muted);overflow-wrap:anywhere}
.device-print-box{display:grid;gap:7px}
.device-print-box>div{display:grid;gap:3px;margin-bottom:2px}
.device-print-box>div span{font-size:9px;line-height:1.35;color:var(--muted)}

@media(max-width:900px){
  .device-detail-layout{grid-template-columns:1fr!important}
  .device-detail-side{grid-template-columns:1fr 1fr!important}
  .device-print-box{grid-column:1/-1}
}
@media(max-width:650px){
  .device-detail-side{grid-template-columns:1fr!important}
  .device-detail-hero{grid-template-columns:92px minmax(0,1fr)!important}
  .device-detail-main-photo{height:96px!important}
  .device-detail-quick{grid-template-columns:1fr!important}
  .device-entry-grid{grid-template-columns:1fr!important}
}


/* ===== Rodada 28/09 — toast mais alto + som de confirmação ===== */
.toast-wrap{
  top:54px!important;
}
body.dev-environment .toast-wrap{
  top:46px!important;
}
@media(max-width:520px){
  .toast-wrap{top:46px!important}
  body.dev-environment .toast-wrap{top:40px!important}
}


/* ===== Rodada 28/09 — cards padrão + topo conta/alertas ===== */

/* Um padrão compacto para clientes, compras e aparelhos, seguindo o estoque */
.standard-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(225px,1fr));
  gap:9px;
  align-items:start;
}
.standard-card{
  position:relative;
  min-width:0;
  padding:10px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel);
  cursor:pointer;
  transition:.15s ease;
  overflow:visible;
}
.standard-card:hover{
  border-color:var(--red);
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(0,0,0,.14);
}
.standard-card-top{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 28px;
  gap:8px;
  align-items:start;
}
.standard-card-thumb{
  width:40px;height:40px;border-radius:9px;border:1px solid var(--border);
  background:var(--panel2);display:grid;place-items:center;overflow:hidden;
  font-size:17px;font-weight:900;
}
.standard-card-thumb.round{border-radius:50%}
.standard-card-thumb img{width:100%;height:100%;object-fit:cover}
.standard-card-copy{min-width:0}
.standard-card-copy h3{
  margin:4px 0 3px;
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.standard-card-copy small{
  display:block;font-size:8px;color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.standard-card-tags{display:flex;gap:4px;align-items:center;min-height:14px;overflow:hidden}
.standard-card-tags .tag{padding:2px 5px!important;font-size:7px!important;line-height:1!important;white-space:nowrap}
.standard-card-menu{margin:0!important}
.standard-card-menu .entity-options-menu{bottom:auto;top:calc(100% + 6px);right:0}
.standard-card-metrics{
  margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px
}
.standard-card-metrics>div{
  min-width:0;text-align:center;padding:7px 5px;border-radius:8px;
  background:var(--panel2);border:1px solid var(--border)
}
.standard-card-metrics span{
  display:block;font-size:7px;color:var(--muted);font-weight:900;letter-spacing:.04em
}
.standard-card-metrics b{
  display:block;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.standard-card-metrics b.success{color:var(--success)}
.standard-card-metrics b.warning{color:var(--warning)}
.standard-card-metrics b.danger{color:var(--danger)}
.standard-card-foot{
  display:flex;justify-content:space-between;gap:8px;
  margin-top:8px;padding-top:7px;border-top:1px solid var(--border);
  color:var(--muted);font-size:8px;min-width:0
}
.standard-card-foot span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.standard-card-empty{grid-column:1/-1}
.purchase-standard-card.draft{
  background:color-mix(in srgb,var(--warning) 4%,var(--panel));
}
.customer-standard-card .standard-card-metrics>div:first-child b{font-size:8.5px}

/* Cabeçalho: Avisos, Alertas, tema e conta */
.top-account-actions{margin-left:auto!important}
.top-account-action{
  min-height:40px;padding:0 10px;border:1px solid var(--border);border-radius:11px;
  background:var(--panel2);color:var(--text);display:flex;align-items:center;gap:6px;
  font-size:10px;font-weight:900;cursor:pointer;transition:.15s
}
.top-account-action>span{font-size:14px}
.top-account-action:hover{border-color:var(--red);background:color-mix(in srgb,var(--red) 9%,var(--panel2))}
.account-menu-button{
  width:42px;height:42px;border:0;background:transparent;padding:0;
  position:relative;cursor:pointer;display:grid;place-items:center
}
.account-menu-button .avatar{width:38px;height:38px}
.account-menu-dot{
  position:absolute;right:-1px;bottom:-1px;width:16px;height:16px;border-radius:50%;
  display:grid;place-items:center;background:var(--panel);border:1px solid var(--border);
  font-size:8px;color:var(--muted)
}
.header-popover{
  position:fixed;z-index:12000;background:var(--panel);border:1px solid var(--border);
  border-radius:15px;box-shadow:0 20px 55px rgba(0,0,0,.42);overflow:hidden
}
.header-popover-head{
  min-height:45px;display:flex;align-items:center;justify-content:space-between;
  padding:0 13px;border-bottom:1px solid var(--border)
}
.header-popover-head b{font-size:12px}
.header-popover-close{border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}
.header-popover-body{padding:10px}
.header-popover-loading,.header-empty{padding:22px 10px;text-align:center;color:var(--muted);font-size:10px}
.header-empty{display:grid;gap:4px}.header-empty b{color:var(--text);font-size:12px}
.header-notice-list{display:grid;gap:5px}
.header-notice-row{
  width:100%;border:1px solid var(--border);background:var(--panel2);color:var(--text);
  border-radius:10px;padding:9px;display:grid;grid-template-columns:30px minmax(0,1fr) 14px;
  gap:8px;align-items:center;text-align:left;cursor:pointer
}
.header-notice-row.static{cursor:default;grid-template-columns:30px minmax(0,1fr)}
.header-notice-row:hover:not(.static){border-color:var(--red)}
.header-notice-row>span:nth-child(2){display:grid;gap:2px;min-width:0}
.header-notice-row b{font-size:10px}.header-notice-row small{font-size:9px;color:var(--muted)}
.header-notice-row i{font-style:normal;color:var(--muted);font-size:18px}
.header-notice-ico{
  width:28px;height:28px;border-radius:8px;display:grid;place-items:center;
  background:var(--panel3);border:1px solid var(--border);font-size:12px
}
.header-notice-row.bad .header-notice-ico{color:var(--danger)}
.header-notice-row.warn .header-notice-ico{color:var(--warning)}
.header-notice-row.ok .header-notice-ico{color:var(--success)}

/* Menu da conta */
.account-popover-profile{display:grid;grid-template-columns:50px minmax(0,1fr);gap:10px;align-items:center;padding:4px 3px 10px}
.account-popover-avatar{
  width:48px;height:48px;border-radius:50%;display:grid;place-items:center;
  background:color-mix(in srgb,var(--success) 14%,var(--panel3));border:1px solid var(--border);
  font-size:18px;font-weight:950
}
.account-popover-profile>div:last-child{display:grid;gap:2px;min-width:0}
.account-popover-profile b{font-size:13px}
.account-popover-profile span{font-size:9px;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.account-popover-profile small{
  width:max-content;margin-top:3px;padding:2px 5px;border:1px solid var(--border);
  border-radius:999px;font-size:7px;font-weight:900
}
.account-password-btn{
  width:100%;min-height:40px;border:1px solid var(--border);border-radius:10px;
  background:var(--panel2);color:var(--text);display:flex;align-items:center;justify-content:center;
  gap:7px;font-weight:900;cursor:pointer
}
.account-password-btn:hover{border-color:var(--success)}
.account-popover-section{margin-top:10px;padding-top:9px;border-top:1px solid var(--border)}
.account-section-head{display:flex;justify-content:space-between;align-items:center;padding:0 3px 5px}
.account-section-head span{font-size:8px;color:var(--muted);font-weight:900;letter-spacing:.08em}
.account-section-head button{border:0;background:transparent;color:var(--success);font-size:9px;font-weight:900;cursor:pointer}
.account-menu-row{
  width:100%;display:grid;grid-template-columns:28px minmax(0,1fr) 14px;gap:7px;
  align-items:center;border:0;background:transparent;color:var(--text);padding:8px 4px;
  border-radius:9px;text-align:left;cursor:pointer
}
.account-menu-row:hover{background:var(--panel2)}
.account-menu-row>span{display:grid;place-items:center;color:var(--muted)}
.account-menu-row p{margin:0;display:grid;gap:1px;min-width:0}
.account-menu-row p b{font-size:10px}.account-menu-row p small{font-size:8px;color:var(--muted)}
.account-menu-row i{font-style:normal;color:var(--muted)}
.account-logout-btn{
  width:100%;margin-top:9px;padding:10px;border:0;border-top:1px solid var(--border);
  background:transparent;color:#ff686d;font-weight:900;cursor:pointer
}

@media(max-width:1100px){
  .top-account-action b{display:none}
  .top-account-action{width:38px;padding:0;justify-content:center}
}
@media(max-width:700px){
  .standard-card-grid{grid-template-columns:1fr}
  .top-account-actions{gap:4px}
}


/* ===== Hotfix topo avisos/alertas + foto de perfil ===== */
.top-account-actions{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  flex:0 0 auto!important;
}
.top-account-action{
  width:auto!important;
  min-width:92px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 11px!important;
  border:1px solid var(--border)!important;
  border-radius:11px!important;
  background:var(--panel2)!important;
  color:var(--text)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  font-size:10px!important;
  font-weight:900!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.top-account-action:hover{
  background:color-mix(in srgb,var(--red) 9%,var(--panel2))!important;
  border-color:var(--red)!important;
}
.top-account-action svg{
  width:16px!important;height:16px!important;flex:0 0 16px!important;
  fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;
  stroke-linecap:round!important;stroke-linejoin:round!important;
}
.account-menu-button .avatar{overflow:hidden!important}
.account-menu-button .avatar img,
.avatar.account-header-avatar img{
  width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;
}
.account-photo-wrap{
  position:relative!important;
  width:50px!important;height:50px!important;
}
.account-photo{
  width:50px!important;height:50px!important;object-fit:cover!important;
}
.account-photo-edit{
  position:absolute!important;right:-4px!important;bottom:-4px!important;
  width:22px!important;height:22px!important;border-radius:50%!important;
  border:2px solid var(--panel)!important;background:var(--success)!important;color:#fff!important;
  display:grid!important;place-items:center!important;padding:0!important;cursor:pointer!important;
}
.account-photo-edit svg{
  width:12px!important;height:12px!important;fill:none!important;stroke:currentColor!important;
  stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important;
}
.account-photo-link{
  width:max-content!important;margin-top:3px!important;padding:0!important;border:0!important;
  background:transparent!important;color:var(--success)!important;font-size:9px!important;
  font-weight:900!important;cursor:pointer!important;
}
@media(max-width:1050px){
  .top-account-action{min-width:42px!important;width:42px!important;padding:0!important}
  .top-account-action b{display:none!important}
}


/* ===== Rodada 28/09 — lateral compacta, home menor e OS lista/grid ===== */

/* Barra lateral: mantém o layout do Pronto Flux, apenas mais compacta e estável */
:root{--pf-sidebar-compact:248px}
.sidebar{
  width:var(--pf-sidebar-compact)!important;
}
.main{
  margin-left:var(--pf-sidebar-compact)!important;
}
.main.full{margin-left:0!important}
.side-company{
  min-height:76px!important;
  padding:13px 12px!important;
  gap:9px!important;
}
.side-company .brand-mark{
  width:42px!important;height:38px!important;flex:0 0 42px!important;
}
.side-company .brand-logo img{
  max-width:42px!important;max-height:38px!important;
}
.side-company b{
  max-width:168px!important;
  font-size:12px!important;
  line-height:1.25!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
.side-company small{
  max-width:168px!important;
  font-size:10px!important;
}
.side-nav{
  padding:8px!important;
  scrollbar-gutter:stable;
}
.side-nav>.nav-btn,.side-group-toggle,.side-footer>.nav-btn{
  min-height:42px!important;
  padding:9px 10px!important;
  border-radius:11px!important;
  margin:3px 0!important;
  font-size:13px!important;
}
.nav-btn .ico{
  width:20px!important;flex:0 0 20px!important;
}
.side-subnav{
  padding:1px 0 4px 8px!important;
}
.nav-btn.sub{
  min-height:36px!important;
  padding:8px 10px 8px 15px!important;
  font-size:11px!important;
}
.side-footer{padding:8px!important}
body.dev-environment .sidebar{
  top:26px!important;
  height:calc(100vh - 26px)!important;
  bottom:auto!important;
}
body:not(.dev-environment) .sidebar{
  top:0!important;height:100vh!important;
}

/* Topo mais enxuto quando a lateral está aberta */
.topbar{
  height:74px!important;
  padding:0 18px!important;
  gap:10px!important;
}
.global-search{
  width:min(400px,34vw)!important;
}
.top-nav-icon{
  width:40px;height:40px;flex:0 0 40px;
  border:1px solid var(--border);border-radius:11px;
  background:var(--panel2);color:var(--text);
  display:grid;place-items:center;cursor:pointer;transition:.15s;
}
.top-nav-icon:hover{
  border-color:var(--red);background:color-mix(in srgb,var(--red) 10%,var(--panel2));
}
.top-nav-icon svg{
  width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.top-action-divider{
  width:1px;height:24px;background:var(--border);margin:0 1px;
}

/* Home: mesmos cards, só um pouco menores */
.content{
  padding:20px!important;
}
.hero{
  padding:16px 20px!important;
  margin-bottom:14px!important;
  border-radius:17px!important;
}
.hero small{
  font-size:11px!important;
}
.hero h1{
  margin:5px 0!important;
  font-size:24px!important;
  line-height:1.12!important;
}
.hero p{
  margin:6px 0 0!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.module-grid{
  gap:11px!important;
}
.module-card{
  min-height:145px!important;
  padding:15px!important;
  border-radius:15px!important;
}
.module-card .icon{
  width:42px!important;height:42px!important;border-radius:12px!important;font-size:19px!important;
}
.module-card h3{
  margin:13px 0 5px!important;
  font-size:17px!important;
}
.module-card p{
  font-size:11px!important;
  line-height:1.4!important;
}

/* O.S.: escolha entre lista e grid */
.os-view-tools{
  gap:10px!important;
}
.os-view-toggle{
  display:flex;
  gap:4px;
  padding:3px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:9px;
  background:rgba(0,0,0,.1);
}
.os-view-toggle button{
  min-height:28px;
  padding:4px 8px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:rgba(255,255,255,.72);
  font-size:10px;
  font-weight:850;
  display:flex;
  align-items:center;
  gap:5px;
  cursor:pointer;
}
.os-view-toggle button.active{
  background:#fff;
  color:#1b1b1d;
}
.os-order-list.grid-mode{
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:11px;
}
.os-order-list.grid-mode .os-order-card{
  min-height:154px;
  grid-template-columns:44px minmax(0,1fr);
  grid-template-rows:auto 1fr auto;
  gap:10px;
  align-items:start;
  padding:13px;
  border-radius:14px;
}
.os-order-list.grid-mode .os-order-card::after{
  width:100%;
  height:5px;
  inset:auto 0 0 0;
  opacity:1;
}
.os-order-list.grid-mode .os-order-card.open::after{
  background:#f3a91c;
}
.os-order-list.grid-mode .os-order-card.final::after{
  background:#54d978;
}
.os-order-list.grid-mode .os-order-card.cancel::after{
  background:#ef5b5b;
}
.os-order-list.grid-mode .os-card-avatar{
  width:40px;height:40px;
}
.os-order-list.grid-mode .os-card-customer{
  margin:1px 0 7px;
  font-size:13px;
}
.os-order-list.grid-mode .os-card-data{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 10px;
  font-size:9px;
}
.os-order-list.grid-mode .os-card-data span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.os-order-list.grid-mode .os-card-side{
  grid-column:1/-1;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:5px;
}
.os-order-list.grid-mode .os-card-status{
  justify-self:start;
  text-align:left;
  max-width:none;
}
.os-order-list.grid-mode .os-card-options{
  padding:6px 8px;
}
.os-order-list.list-mode{
  grid-template-columns:1fr;
}

/* Evita aperto excessivo do cabeçalho com a lateral aberta */
@media(max-width:1180px) and (min-width:901px){
  .global-search{width:min(330px,31vw)!important}
  .top-account-action{min-width:42px!important;width:42px!important;padding:0!important}
  .top-account-action b{display:none!important}
}
@media(max-width:900px){
  :root{--pf-sidebar-compact:248px}
  .main{margin-left:0!important}
  .content{padding:16px!important}
  .os-view-toggle button span{display:none}
}
@media(max-width:640px){
  .os-order-list.grid-mode{grid-template-columns:1fr}
  .module-card{min-height:132px!important}
}


/* ===== Rodada 28/09 — sidebar final + seleções + grid/list geral ===== */

/* Sidebar mais justa e sem esconder os módulos inferiores */
:root{--pf-sidebar-compact:232px}
.sidebar{
  width:var(--pf-sidebar-compact)!important;
  overflow:hidden!important;
}
.main{margin-left:var(--pf-sidebar-compact)!important}
.main.full{margin-left:0!important}
.side-company{
  min-height:62px!important;
  padding:9px 10px!important;
  gap:8px!important;
  flex:0 0 auto!important;
}
.side-company .brand-mark{
  width:38px!important;height:34px!important;flex:0 0 38px!important;
}
.side-company .brand-logo img{
  max-width:38px!important;max-height:34px!important;
}
.side-company b{
  max-width:164px!important;
  font-size:11px!important;
  line-height:1.18!important;
}
.side-company small{
  max-width:164px!important;
  font-size:9px!important;
  margin-top:2px!important;
}
.side-nav{
  flex:1 1 auto!important;
  min-height:0!important;
  padding:6px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  scrollbar-gutter:auto!important;
  scrollbar-width:thin;
  scrollbar-color:#696970 transparent;
}
.side-nav::-webkit-scrollbar{width:6px}
.side-nav::-webkit-scrollbar-track{background:transparent}
.side-nav::-webkit-scrollbar-thumb{background:#5b5b62;border-radius:999px}
.side-nav>.nav-btn,.side-group-toggle,.side-footer>.nav-btn{
  min-height:36px!important;
  padding:7px 8px!important;
  border-radius:9px!important;
  margin:2px 0!important;
  font-size:12px!important;
  gap:8px!important;
}
.nav-btn .ico{
  width:18px!important;flex:0 0 18px!important;
}
.side-subnav{
  padding:1px 0 2px 7px!important;
}
.nav-btn.sub{
  min-height:31px!important;
  padding:6px 8px 6px 12px!important;
  font-size:10px!important;
  margin:1px 0!important;
}
.side-footer{
  flex:0 0 auto!important;
  padding:6px!important;
}
body.dev-environment .sidebar{
  top:26px!important;
  height:calc(100dvh - 26px)!important;
  bottom:auto!important;
}
body:not(.dev-environment) .sidebar{
  top:0!important;
  height:100dvh!important;
}
body.dev-environment .main{
  min-height:calc(100dvh - 26px)!important;
}

/* Barra superior acompanha a lateral menor */
.topbar{
  min-width:0!important;
}
.top-brand{flex:0 0 auto}
.global-search{
  min-width:180px!important;
  flex:0 1 390px!important;
}
.top-account-actions{
  min-width:0!important;
}

/* Períodos rápidos: neutros até serem selecionados */
.os-quick-dates button,
.quick-periods button{
  background:var(--panel3)!important;
  color:var(--muted)!important;
  border:1px solid var(--border)!important;
}
.os-quick-dates button:hover,
.quick-periods button:hover{
  color:var(--text)!important;
  border-color:color-mix(in srgb,var(--red) 55%,var(--border))!important;
}
.os-quick-dates button.active,
.quick-periods button.active{
  background:var(--red)!important;
  color:#fff!important;
  border-color:var(--red)!important;
}

/* Toggle Grid / Lista reutilizável */
.collection-view-bar{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  margin:-2px 0 10px;
}
.collection-view-bar>span{
  color:var(--muted);
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
}
.collection-toolbar{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.collection-toolbar>.input{min-width:0}
.collection-view-toggle{
  display:flex;
  gap:3px;
  flex:0 0 auto;
  padding:3px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--panel2);
}
.collection-view-toggle button{
  min-width:64px;
  min-height:31px;
  padding:5px 8px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:var(--muted);
  font-size:9px;
  font-weight:850;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
}
.collection-view-toggle button.active{
  background:var(--red);
  color:#fff;
}
.collection-grid{
  grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;
}
.collection-list{
  grid-template-columns:1fr!important;
}

/* Cards padronizados em modo lista */
.standard-card-grid.collection-list .standard-card{
  display:grid!important;
  grid-template-columns:minmax(260px,1.35fr) minmax(280px,1fr)!important;
  gap:10px 14px!important;
  align-items:center!important;
  min-height:86px!important;
}
.standard-card-grid.collection-list .standard-card-top{
  grid-template-columns:46px minmax(0,1fr) 30px!important;
}
.standard-card-grid.collection-list .standard-card-thumb{
  width:46px!important;height:46px!important;
}
.standard-card-grid.collection-list .standard-card-metrics{
  margin-top:0!important;
}
.standard-card-grid.collection-list .standard-card-foot{
  grid-column:1/-1!important;
  margin-top:0!important;
}

/* Fornecedores e cupons: um card por linha no modo lista */
.entity-grid.collection-list,
.coupon-grid.collection-list{
  grid-template-columns:1fr!important;
}
.entity-grid.collection-list .entity-card,
.coupon-grid.collection-list .entity-card{
  min-height:auto!important;
}

/* Vendas podem alternar entre lista e cards */
.sales-card-list.collection-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(330px,1fr))!important;
  gap:10px!important;
}
.sales-card-list.collection-grid .sale-list-card{
  display:grid!important;
  grid-template-columns:1fr!important;
}
.sales-card-list.collection-grid .sale-list-main{
  grid-template-columns:42px minmax(0,1fr)!important;
  gap:9px!important;
}
.sales-card-list.collection-grid .sale-list-value,
.sales-card-list.collection-grid .sale-list-date{
  margin-top:7px!important;
}
.sales-card-list.collection-grid .sale-options-wrap{
  padding:0 10px 10px!important;
  justify-self:end!important;
}

/* O.S.: o toggle usa o mesmo desenho visual do restante */
.os-view-toggle{
  border-color:var(--border)!important;
  background:var(--panel2)!important;
}
.os-view-toggle button{
  color:var(--muted)!important;
}
.os-view-toggle button.active{
  background:var(--red)!important;
  color:#fff!important;
}

/* Chave inglesa do atalho superior fica mais legível */
#topOs svg{
  width:18px!important;
  height:18px!important;
  stroke-width:1.9!important;
}

@media(max-width:1180px) and (min-width:901px){
  :root{--pf-sidebar-compact:224px}
  .side-company b,.side-company small{max-width:154px!important}
}
@media(max-width:900px){
  :root{--pf-sidebar-compact:232px}
  .main{margin-left:0!important}
  .collection-view-toggle button{min-width:38px}
  .collection-view-toggle button span{display:none}
}
@media(max-width:700px){
  .standard-card-grid.collection-list .standard-card{
    grid-template-columns:1fr!important;
  }
  .collection-toolbar{
    align-items:stretch!important;
    flex-direction:column!important;
  }
  .collection-toolbar .collection-view-toggle{
    align-self:flex-end;
  }
}


/* ===== Rodada 28/09 — filtros e ações em massa + correções visuais ===== */

/* Grid / Lista: componente próprio, nunca botão branco do navegador */
.collection-view-toggle,
.inventory-view-toggle,
.os-view-toggle{
  display:inline-flex!important;
  align-items:center!important;
  gap:3px!important;
  padding:3px!important;
  border:1px solid var(--border)!important;
  border-radius:10px!important;
  background:var(--panel2)!important;
  box-shadow:none!important;
}
.collection-view-toggle button,
.inventory-view-toggle button,
.os-view-toggle button{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  outline:0!important;
  min-width:66px!important;
  height:31px!important;
  padding:0 9px!important;
  border-radius:7px!important;
  background:transparent!important;
  color:var(--muted)!important;
  font:inherit!important;
  font-size:9px!important;
  font-weight:900!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  cursor:pointer!important;
  transition:.14s ease!important;
}
.collection-view-toggle button:hover,
.inventory-view-toggle button:hover,
.os-view-toggle button:hover{
  color:var(--text)!important;
  background:var(--panel3)!important;
}
.collection-view-toggle button.active,
.inventory-view-toggle button.active,
.os-view-toggle button.active{
  background:var(--red)!important;
  color:#fff!important;
  box-shadow:0 2px 8px color-mix(in srgb,var(--red) 25%,transparent)!important;
}
.collection-view-bar{
  margin:0 0 10px!important;
}
.collection-toolbar .collection-view-toggle{align-self:center}

/* Cards padrão: reserva espaço real para seleção, conteúdo e menu */
.people-standard-card .standard-card-top,
.purchase-standard-card .standard-card-top,
.device-standard-card .standard-card-top{
  grid-template-columns:20px 44px minmax(0,1fr) 30px!important;
}
.standard-card-select,
.inventory-card-check{
  width:18px!important;height:18px!important;
  display:grid!important;place-items:center!important;
  align-self:start!important;margin-top:2px!important;
}
.standard-card-select input,
.inventory-card-check input{
  position:absolute!important;opacity:0!important;pointer-events:none!important;
}
.standard-card-select span,
.inventory-card-check span{
  width:14px!important;height:14px!important;border:1px solid var(--border)!important;border-radius:4px!important;
  background:var(--panel2)!important;display:grid!important;place-items:center!important;
}
.standard-card-select input:checked+span,
.inventory-card-check input:checked+span{
  background:var(--red)!important;border-color:var(--red)!important;
}
.standard-card-select input:checked+span::after,
.inventory-card-check input:checked+span::after{
  content:"✓";color:#fff;font-size:9px;font-weight:1000;
}
.standard-card.selected,
.inventory-product-card.selected{
  border-color:color-mix(in srgb,var(--red) 70%,var(--border))!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 12%,transparent)!important;
}

/* Corrige a sobreposição SEM ESTOQUE / ESTOQUE / botões */
.inventory-card-top{
  grid-template-columns:20px 44px minmax(0,1fr) auto 30px!important;
  gap:7px!important;
  align-items:start!important;
}
.inventory-card-tags{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:3px!important;
  min-width:0!important;
  max-width:100%!important;
}
.inventory-card-tags .tag{
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  font-size:7px!important;
  padding:3px 5px!important;
}
.product-card-head{
  min-width:0!important;
  overflow:hidden!important;
}
.product-card-head h3{
  margin-top:5px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.inventory-card-quick{
  display:flex!important;
  gap:3px!important;
  flex:0 0 auto!important;
}
.inventory-card-quick button,
.inventory-dots{
  width:28px!important;height:28px!important;min-width:28px!important;
}
@media(max-width:1180px){
  .inventory-card-top{
    grid-template-columns:18px 40px minmax(0,1fr) 28px!important;
  }
  .inventory-card-quick{
    grid-column:3!important;
    justify-self:end!important;
    margin-top:4px!important;
  }
  .inventory-card-menu{
    grid-column:4!important;
    grid-row:1!important;
  }
}

/* Linha de resultado de estoque */
.inventory-result-line{
  display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 10px;
}
.inventory-result-info{margin:0!important}

/* Filtros Clientes / Fornecedores */
.people-filter-panel{
  border:1px solid var(--border);
  background:var(--panel);
  border-radius:14px;
  padding:12px;
  margin-bottom:10px;
}
.people-filter-head{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid var(--border);
}
.people-filter-head>div:first-child{display:grid;gap:2px}
.people-filter-head b{font-size:12px}
.people-filter-head span{font-size:9px;color:var(--muted)}
.people-filter-grid{
  display:grid;
  grid-template-columns:minmax(260px,1fr) 160px 160px auto;
  gap:9px;
  align-items:end;
}
.people-filter-grid .field{gap:4px}
.people-filter-grid .field label{font-size:9px}
.people-filter-grid .input,.people-filter-grid .select{min-height:39px;padding:9px 10px}
.people-filter-buttons{display:flex;gap:6px;align-items:center}
.people-filter-buttons .btn{min-height:39px}

/* Barra de seleção e ações */
.bulk-selection-bar{
  min-height:54px;
  border:1px solid var(--border);
  background:var(--panel);
  border-radius:12px;
  padding:8px 10px;
  margin-bottom:10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.bulk-selection-info{display:flex;align-items:center;gap:8px}
.bulk-selection-icon{
  width:30px;height:30px;border-radius:9px;display:grid;place-items:center;
  background:var(--panel3);color:var(--muted);font-weight:1000;
}
.bulk-selection-bar.has-selection .bulk-selection-icon{background:color-mix(in srgb,var(--red) 15%,var(--panel3));color:var(--red)}
.bulk-selection-info>div{display:grid;gap:2px}
.bulk-selection-info b{font-size:10px}
.bulk-selection-info small{font-size:8px;color:var(--muted)}
.bulk-selection-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}

/* Modal de ações em massa */
.bulk-action-groups{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  max-height:62vh;
  overflow:auto;
  padding-right:3px;
}
.bulk-action-groups.one-column{grid-template-columns:1fr}
.bulk-action-groups section{
  border:1px solid var(--border);
  background:var(--panel2);
  border-radius:13px;
  overflow:hidden;
  align-self:start;
}
.bulk-action-groups section h3{
  margin:0;padding:10px 11px;border-bottom:1px solid var(--border);font-size:11px;
}
.bulk-action-row{
  width:100%;
  border:0;
  border-bottom:1px solid var(--border);
  background:transparent;
  color:var(--text);
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 14px;
  gap:8px;
  align-items:center;
  text-align:left;
  padding:9px 10px;
  cursor:pointer;
}
.bulk-action-row:last-child{border-bottom:0}
.bulk-action-row:hover{background:var(--panel3)}
.bulk-action-row.danger:hover{background:color-mix(in srgb,var(--danger) 9%,var(--panel3))}
.bulk-action-dot{
  width:26px;height:26px;border-radius:8px;
  background:color-mix(in srgb,var(--red) 10%,var(--panel));
  border:1px solid color-mix(in srgb,var(--red) 22%,var(--border));
}
.bulk-action-row.danger .bulk-action-dot{background:color-mix(in srgb,var(--danger) 12%,var(--panel));border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}
.bulk-action-row>div{display:grid;gap:2px;min-width:0}
.bulk-action-row b{font-size:10px}
.bulk-action-row small{font-size:8px;color:var(--muted);line-height:1.3}
.bulk-action-row i{font-style:normal;color:var(--muted);font-size:16px}

/* Lista realmente diferente de grid */
.standard-card-grid.collection-list{
  display:grid!important;
  grid-template-columns:1fr!important;
}
.standard-card-grid.collection-list .standard-card{
  display:grid!important;
  grid-template-columns:minmax(330px,1.35fr) minmax(330px,1fr)!important;
  gap:10px 16px!important;
  align-items:center!important;
  min-height:78px!important;
  padding:9px 11px!important;
}
.standard-card-grid.collection-list .standard-card-top{
  grid-template-columns:20px 42px minmax(0,1fr) 30px!important;
}
.standard-card-grid.collection-list .standard-card-metrics{
  margin-top:0!important;
  min-width:0!important;
}
.standard-card-grid.collection-list .standard-card-foot{
  grid-column:1/-1!important;
  margin-top:0!important;
  padding-top:6px!important;
}
.entity-grid.collection-list{
  display:grid!important;
  grid-template-columns:1fr!important;
}
.entity-grid.collection-list .entity-card{
  min-height:auto!important;
  display:grid!important;
  grid-template-columns:minmax(300px,1fr) minmax(360px,1.2fr) auto!important;
  align-items:center!important;
  gap:12px!important;
}
.entity-grid.collection-list .customer-card-divider{display:none!important}
.entity-grid.collection-list .entity-card-lines{
  display:flex!important;gap:16px!important;align-items:center!important;flex-wrap:wrap!important;
}
.entity-grid.collection-list .entity-card-footer{margin:0!important;border:0!important;padding:0!important}

/* Modo grid bem definido */
.standard-card-grid.collection-grid,
.entity-grid.collection-grid{
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;
  gap:10px!important;
}

/* Vendas: toggle não quebra o card */
.sales-card-list.collection-list{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
.sales-card-list.collection-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))!important;gap:10px!important}

/* Responsivo */
@media(max-width:900px){
  .people-filter-grid{grid-template-columns:1fr 1fr}
  .people-filter-buttons{grid-column:1/-1;justify-content:flex-end}
  .bulk-action-groups{grid-template-columns:1fr}
  .standard-card-grid.collection-list .standard-card{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  .people-filter-head{align-items:flex-start;flex-direction:column}
  .people-filter-grid{grid-template-columns:1fr}
  .people-filter-buttons{grid-column:auto}
  .bulk-selection-bar{align-items:stretch;flex-direction:column}
  .bulk-selection-actions{display:grid;grid-template-columns:1fr 1fr}
  .bulk-selection-actions [data-bulk-actions]{grid-column:1/-1}
  .inventory-result-line{align-items:flex-start;flex-direction:column}
}


/* ===== Hotfix cards do estoque sem sobreposição ===== */
.inventory-card-top{
  grid-template-columns:20px 44px minmax(0,1fr) 30px!important;
  grid-template-rows:auto auto!important;
}
.inventory-card-check{grid-column:1!important;grid-row:1!important}
.product-card-thumb{grid-column:2!important;grid-row:1/3!important}
.product-card-head{grid-column:3!important;grid-row:1!important;padding-right:2px!important}
.inventory-card-quick{
  grid-column:3!important;
  grid-row:2!important;
  justify-self:end!important;
  margin-top:4px!important;
}
.inventory-card-menu{
  grid-column:4!important;
  grid-row:1!important;
  justify-self:end!important;
}
.inventory-card-tags{
  padding-right:0!important;
}
.inventory-card-tags .tag{
  flex:0 1 auto!important;
}


/* ===== Rodada 28/09 — compactação final, filtros usados e sidebar estável ===== */

/* Cabeçalho estável com sidebar aberta ou fechada */
@media(min-width:901px){
  .topbar{
    display:grid!important;
    grid-template-columns:36px auto minmax(190px,1fr) auto 40px 42px!important;
    align-items:center!important;
    gap:9px!important;
    height:66px!important;
    padding:0 14px!important;
  }
  .topbar .global-search{
    position:static!important;
    left:auto!important;
    transform:none!important;
    margin:0!important;
    width:min(100%,430px)!important;
    max-width:430px!important;
    min-width:180px!important;
    justify-self:center!important;
  }
  .top-brand{
    font-size:16px!important;
    white-space:nowrap!important;
  }
  .top-account-actions{
    margin-left:0!important;
    justify-self:end!important;
    gap:5px!important;
  }
  .top-nav-icon{width:38px!important;height:38px!important;flex-basis:38px!important}
  .top-account-action{height:38px!important;min-height:38px!important;min-width:82px!important;padding:0 9px!important}
  .theme-btn{width:38px!important;height:38px!important}
  .account-menu-button{width:40px!important;height:40px!important}
  .account-menu-button .avatar{width:36px!important;height:36px!important}
}
@media(min-width:901px) and (max-width:1220px){
  .topbar{
    grid-template-columns:34px auto minmax(150px,1fr) auto 38px 40px!important;
    gap:6px!important;
    padding:0 10px!important;
  }
  .topbar .global-search{max-width:330px!important}
  .top-account-action{
    min-width:38px!important;width:38px!important;padding:0!important;
  }
  .top-account-action b{display:none!important}
  .top-action-divider{display:none!important}
  .top-brand{font-size:14px!important}
}
@media(min-width:901px) and (max-width:1040px){
  .topbar{
    grid-template-columns:34px auto minmax(120px,1fr) auto 36px 38px!important;
  }
  .topbar .global-search{max-width:260px!important}
  .top-nav-icon{width:36px!important;height:36px!important;flex-basis:36px!important}
}

/* Sidebar: compacta sem quebrar o topo nem esconder itens */
:root{--pf-sidebar-compact:226px}
.sidebar{width:var(--pf-sidebar-compact)!important}
.main{margin-left:var(--pf-sidebar-compact)!important;min-width:0!important}
.main.full{margin-left:0!important}
.side-company{min-height:58px!important;padding:8px 9px!important}
.side-company .brand-mark{width:36px!important;height:36px!important;flex:0 0 36px!important}
.side-company .brand-logo img{width:36px!important;height:36px!important;max-width:36px!important;max-height:36px!important}
.side-company b{font-size:10.5px!important;max-width:164px!important}
.side-company small{font-size:8.5px!important;max-width:164px!important}
.side-nav{padding:5px!important}
.side-nav>.nav-btn,.side-group-toggle,.side-footer>.nav-btn{
  min-height:34px!important;padding:6px 8px!important;font-size:11.5px!important;margin:1px 0!important
}
.nav-btn.sub{min-height:29px!important;padding:5px 8px 5px 11px!important;font-size:9.5px!important}
.side-footer{padding:5px!important}

/* Compactação geral moderada */
.content{padding:16px 18px!important}
.page-head{margin-bottom:12px!important}
.page-head h1{font-size:25px!important}
.page-head p{font-size:11.5px!important;margin-top:3px!important}
.page-head .btn{min-height:38px!important;padding:8px 13px!important}

/* Compras: filtros menores */
.purchase-filter-panel{
  padding:10px!important;
  border-radius:13px!important;
  margin-bottom:9px!important;
}
.purchase-filter-grid{
  grid-template-columns:repeat(4,minmax(145px,1fr))!important;
  gap:7px 9px!important;
}
.purchase-filter-grid .field{gap:3px!important}
.purchase-filter-grid .field label{font-size:8.5px!important}
.purchase-filter-grid .input,
.purchase-filter-grid .select{
  min-height:36px!important;
  height:36px!important;
  padding:7px 9px!important;
  font-size:11px!important;
}
.purchase-filter-panel .filter-actions{
  margin-top:8px!important;
  gap:8px!important;
}
.purchase-filter-panel .quick-periods{gap:5px!important}
.purchase-filter-panel .quick-periods button{
  min-height:27px!important;height:27px!important;padding:0 9px!important;font-size:8px!important
}
.purchase-filter-panel .filter-actions .btn{
  min-height:34px!important;padding:7px 11px!important;font-size:9px!important
}

/* Filtros compactos reutilizáveis */
.compact-filter-panel{
  border:1px solid var(--border);
  background:var(--panel);
  border-radius:13px;
  padding:9px 10px;
  margin-bottom:9px;
}
.compact-filter-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-bottom:7px;margin-bottom:7px;border-bottom:1px solid var(--border);
}
.compact-filter-head>div:first-child{display:grid;gap:1px}
.compact-filter-head b{font-size:11px}
.compact-filter-head span{font-size:8px;color:var(--muted)}
.compact-filter-grid{
  display:grid;
  gap:7px 8px;
  align-items:end;
}
.customer-filter-grid{
  grid-template-columns:minmax(180px,1.4fr) minmax(125px,.8fr) minmax(180px,1.1fr) 120px 125px 135px auto;
}
.supplier-filter-grid{
  grid-template-columns:minmax(190px,1.4fr) minmax(125px,.8fr) minmax(190px,1.2fr) 120px 135px auto;
}
.device-filter-grid{
  grid-template-columns:minmax(220px,1.5fr) 130px minmax(150px,1fr) 135px 145px 120px 130px 130px 135px auto;
}
.compact-filter-grid .field{gap:3px!important;min-width:0}
.compact-filter-grid .field label{font-size:8px!important}
.compact-filter-grid .input,
.compact-filter-grid .select{
  min-height:35px!important;height:35px!important;padding:7px 9px!important;font-size:10.5px!important
}
.compact-filter-buttons{display:flex;gap:5px;align-items:center}
.compact-filter-buttons .btn{min-height:35px!important;padding:7px 10px!important;font-size:8.5px!important}

/* Barra de seleção um pouco menor */
.bulk-selection-bar{
  min-height:46px!important;padding:6px 8px!important;margin-bottom:8px!important;border-radius:10px!important
}
.bulk-selection-icon{width:26px!important;height:26px!important;border-radius:7px!important}
.bulk-selection-info b{font-size:9px!important}
.bulk-selection-info small{font-size:7.5px!important}
.bulk-selection-actions .btn{min-height:31px!important;padding:6px 9px!important;font-size:8px!important}

/* Grid/Lista menor e integrado */
.collection-view-toggle,
.inventory-view-toggle,
.os-view-toggle{padding:2px!important;border-radius:9px!important}
.collection-view-toggle button,
.inventory-view-toggle button,
.os-view-toggle button{
  min-width:56px!important;height:28px!important;min-height:28px!important;padding:0 7px!important;font-size:8px!important;border-radius:6px!important
}
.collection-view-bar{margin:0 0 8px!important}

/* Cards levemente menores */
.standard-card-grid.collection-grid{grid-template-columns:repeat(auto-fill,minmax(245px,1fr))!important;gap:8px!important}
.standard-card{padding:9px!important;border-radius:11px!important}
.standard-card-thumb{width:40px!important;height:40px!important}
.standard-card-copy h3{font-size:11.5px!important;margin:4px 0 2px!important}
.standard-card-metrics{margin-top:8px!important;gap:4px!important}
.standard-card-metrics>div{padding:6px 4px!important}
.standard-card-foot{margin-top:6px!important;padding-top:6px!important}

/* Responsividade dos filtros */
@media(max-width:1380px){
  .device-filter-grid{grid-template-columns:repeat(5,minmax(130px,1fr))}
  .device-filter-search{grid-column:span 2}
  .supplier-filter-grid,.customer-filter-grid{grid-template-columns:repeat(4,minmax(130px,1fr))}
  .compact-filter-buttons{justify-content:flex-end}
}
@media(max-width:1120px){
  .purchase-filter-grid{grid-template-columns:repeat(3,minmax(140px,1fr))!important}
  .device-filter-grid,.supplier-filter-grid,.customer-filter-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}
  .device-filter-search{grid-column:auto}
}
@media(max-width:900px){
  :root{--pf-sidebar-compact:226px}
  .main{margin-left:0!important}
  .purchase-filter-grid,.device-filter-grid,.supplier-filter-grid,.customer-filter-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:620px){
  .purchase-filter-grid,.device-filter-grid,.supplier-filter-grid,.customer-filter-grid{grid-template-columns:1fr!important}
  .compact-filter-head{align-items:flex-start;flex-direction:column}
}


/* ===== Rodada 28/09 — caixas abertos em cards compactos ===== */
.cash-open-summary{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:8px!important;
  margin-bottom:10px!important;
}
.cash-open-summary .stat{
  min-height:82px!important;
  padding:11px 12px!important;
  border-radius:12px!important;
}
.cash-open-summary .stat span{
  font-size:9px!important;
}
.cash-open-summary .stat b{
  font-size:18px!important;
  margin-top:6px!important;
}
.cash-open-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:2px 0 8px;
  color:var(--muted);
  font-size:9px;
}
.open-cash-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:10px;
  align-items:start;
}
.open-cash-card{
  max-width:380px;
  width:100%;
  padding:12px!important;
}
.closed-cash-icon.open{
  background:color-mix(in srgb,var(--success) 13%,var(--panel3))!important;
  color:var(--success)!important;
}
.open-cash-card .closed-cash-head{
  padding-bottom:8px!important;
}
.open-cash-card .closed-cash-head .grow b{
  font-size:13px!important;
}
.open-cash-card .closed-cash-head .grow span{
  font-size:8px!important;
}
.open-cash-card .closed-cash-info{
  margin-top:8px!important;
  gap:7px!important;
}
.open-cash-card .closed-cash-info span{
  font-size:7px!important;
}
.open-cash-card .closed-cash-info b{
  font-size:9px!important;
}
.open-cash-card .closed-cash-values{
  margin-top:8px!important;
  gap:6px!important;
}
.open-cash-card .closed-cash-values>div{
  padding:7px!important;
  border-radius:8px!important;
}
.open-cash-card .closed-cash-values span{
  font-size:7px!important;
}
.open-cash-card .closed-cash-values b{
  font-size:11px!important;
}
.cash-open-total{
  color:var(--red)!important;
}
.open-cash-methods{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  margin-top:8px;
}
.open-cash-methods>span{
  border:1px solid var(--border);
  background:var(--panel2);
  border-radius:999px;
  padding:4px 6px;
  color:var(--muted);
  font-size:7.5px;
}
.open-cash-methods b{
  color:var(--text);
  margin-left:3px;
}
.open-cash-footer{
  margin-top:9px!important;
  padding-top:8px;
  border-top:1px solid var(--border);
  align-items:center!important;
}
.open-cash-footer>span{
  font-size:8px!important;
}
.open-cash-actions{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.open-cash-actions .btn{
  min-height:28px!important;
  padding:5px 7px!important;
  font-size:7.5px!important;
  border-radius:8px!important;
}
@media(max-width:1200px){
  .cash-open-summary{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:760px){
  .cash-open-summary{grid-template-columns:repeat(2,1fr)!important}
  .open-cash-grid{grid-template-columns:1fr}
  .open-cash-card{max-width:none}
}
@media(max-width:520px){
  .cash-open-summary{grid-template-columns:1fr!important}
}


/* ===== Rodada 28/09 — sidebar ativa, topo estável e caixa aberto compacto ===== */

/* Sidebar: somente o item selecionado fica vermelho */
.side-group-toggle.active-parent,
.side-group.open>.side-group-toggle{
  background:#29292d!important;
  color:#f1f1f3!important;
}
.side-group.open>.side-group-toggle:hover{
  background:#343438!important;
  color:#fff!important;
}
.side-nav>.nav-btn.active,
.side-subnav .nav-btn.sub.active{
  background:var(--red)!important;
  color:#fff!important;
}
.side-group.open>.side-group-toggle .side-chevron{
  color:var(--muted)!important;
}

/* Topbar: flexível e sem sobreposição com a sidebar aberta */
@media(min-width:901px){
  .topbar{
    display:flex!important;
    align-items:center!important;
    height:66px!important;
    padding:0 12px!important;
    gap:8px!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .menu-toggle{flex:0 0 34px!important}
  .top-brand{
    flex:0 0 auto!important;
    min-width:126px!important;
    white-space:nowrap!important;
    font-size:15px!important;
  }
  .global-search{
    position:static!important;
    left:auto!important;
    transform:none!important;
    flex:1 1 360px!important;
    width:auto!important;
    min-width:170px!important;
    max-width:430px!important;
    margin:0 0 0 auto!important;
  }
  .top-account-actions{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:5px!important;
    margin-left:0!important;
    min-width:max-content!important;
  }
  .top-nav-icon{
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
  }
  .top-account-action{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:84px!important;
    height:38px!important;
    padding:0 9px!important;
  }
  .theme-btn{
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
  }
  .account-menu-button{
    flex:0 0 40px!important;
    width:40px!important;
    height:40px!important;
  }
}
@media(min-width:901px) and (max-width:1180px){
  .topbar{gap:5px!important;padding:0 8px!important}
  .top-brand{min-width:108px!important;font-size:13px!important}
  .global-search{min-width:130px!important;max-width:310px!important;flex-basis:250px!important}
  .top-account-action{
    min-width:38px!important;
    width:38px!important;
    padding:0!important;
  }
  .top-account-action b{display:none!important}
  .top-action-divider{display:none!important}
}
@media(min-width:901px) and (max-width:1030px){
  .global-search{max-width:240px!important}
  .top-brand{min-width:96px!important;font-size:12px!important}
}

/* Resumo dos caixas abertos menor, mas ainda no topo */
.cash-open-summary{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:7px!important;
  margin-bottom:9px!important;
}
.cash-open-summary .stat{
  min-height:74px!important;
  padding:9px 10px!important;
  border-radius:11px!important;
}
.cash-open-summary .stat span{
  font-size:8px!important;
}
.cash-open-summary .stat b{
  margin-top:5px!important;
  font-size:17px!important;
}
.cash-open-toolbar{
  margin:1px 0 7px!important;
  color:var(--muted)!important;
  font-size:9px!important;
}

/* Caixa aberto usa o mesmo tamanho visual dos caixas fechados */
.open-cash-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(300px,340px))!important;
  gap:10px!important;
  justify-content:start!important;
  align-items:start!important;
}
.open-cash-card{
  width:100%!important;
  max-width:340px!important;
  padding:12px!important;
  margin:0!important;
}
.open-cash-card .closed-cash-head{
  padding-bottom:8px!important;
}
.closed-cash-icon.open{
  background:color-mix(in srgb,var(--success) 13%,var(--panel3))!important;
  color:var(--success)!important;
}
.open-cash-card .closed-cash-info{
  margin-top:8px!important;
  gap:7px!important;
}
.open-cash-card .closed-cash-info span,
.open-cash-card .closed-cash-values span{
  font-size:7px!important;
}
.open-cash-card .closed-cash-info b{
  font-size:9px!important;
}
.open-cash-card .closed-cash-values{
  gap:6px!important;
  margin-top:8px!important;
}
.open-cash-card .closed-cash-values>div{
  padding:7px!important;
  border-radius:8px!important;
}
.open-cash-card .closed-cash-values b{
  font-size:11px!important;
}
.open-cash-total-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:7px;
  padding:7px 8px;
  border:1px solid var(--border);
  background:var(--panel2);
  border-radius:8px;
}
.open-cash-total-line span{
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
}
.open-cash-total-line b{
  color:var(--red);
  font-size:12px;
}
.open-cash-methods{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px!important;
  margin-top:7px!important;
}
.open-cash-methods>span{
  padding:4px 6px!important;
  border:1px solid var(--border)!important;
  background:var(--panel2)!important;
  border-radius:999px!important;
  color:var(--muted)!important;
  font-size:7px!important;
}
.open-cash-methods b{
  color:var(--text)!important;
  margin-left:3px!important;
}
.open-cash-footer{
  align-items:center!important;
  margin-top:8px!important;
  padding-top:8px!important;
  border-top:1px solid var(--border)!important;
}
.open-cash-footer>span{
  font-size:7px!important;
}
.open-cash-actions{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
}
.open-cash-actions .btn{
  min-height:27px!important;
  padding:5px 7px!important;
  border-radius:8px!important;
  font-size:7px!important;
}
@media(max-width:1200px){
  .cash-open-summary{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:760px){
  .cash-open-summary{grid-template-columns:repeat(2,1fr)!important}
  .open-cash-grid{grid-template-columns:1fr!important}
  .open-cash-card{max-width:none!important}
}


/* ===== Rodada 28/09 — PDV compacto, calendário vermelho e padrão de cards ===== */

/* Vermelho mais vivo no layout */
:root{
  --red:#E11D24;
  --red-hover:#F02C33;
  --red-pressed:#BE1016;
}

/* Selects: identidade vermelha e tema escuro (inclusive O.S.) */
.select,select{
  accent-color:var(--red);
}
html:not(.light) .select,
html:not(.light) select{
  color-scheme:dark;
}
html:not(.light) .select option,
html:not(.light) select option{
  background:#202023;
  color:#f7f7f8;
}
.select option:checked,
select option:checked{
  background:linear-gradient(var(--red),var(--red))!important;
  color:#fff!important;
}
.select:focus,
select:focus{
  border-color:var(--red)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 15%,transparent)!important;
}

/* PDV: cabeçalho/cliente bem mais compacto */
.pdv-context-grid{
  grid-template-columns:minmax(270px,350px) minmax(410px,620px)!important;
  justify-content:start!important;
  gap:9px!important;
  margin-bottom:9px!important;
}
.pdv-context-card,.pdv-customer-card{
  padding:9px 11px!important;
  border-radius:13px!important;
  min-height:70px!important;
}
.pdv-context-card{gap:10px!important}
.pdv-context-card b{font-size:12px!important}
.pdv-context-card small{font-size:9px!important}
.pdv-step{
  font-size:8px!important;
  margin-bottom:3px!important;
  letter-spacing:.07em!important;
}
.pdv-customer-title{gap:8px!important}
.pdv-customer-title .btn{
  min-height:29px!important;
  padding:5px 8px!important;
  font-size:8px!important;
}
.pdv-customer-main{
  gap:8px!important;
  margin-top:2px!important;
}
.pdv-customer-main .grow b{font-size:12px!important}
.pdv-customer-main .grow small{font-size:9px!important}
.pdv-customer-avatar{
  width:32px!important;height:32px!important;border-radius:9px!important;
}
.pdv-address-actions{
  margin-top:6px!important;gap:5px!important;
}
.pdv-delivery-selected{
  margin-top:6px!important;padding:7px 34px 7px 9px!important;
}

/* PDV: catálogo/carrinho menores para caber melhor em uma tela */
.pdv-main-layout{
  grid-template-columns:minmax(0,1fr) 365px!important;
  gap:9px!important;
}
.pdv-catalog{
  min-height:325px!important;
  padding:11px!important;
  border-radius:14px!important;
}
.pdv-panel-head{
  margin-bottom:8px!important;
  gap:8px!important;
}
.pdv-panel-head h3{font-size:14px!important}
.pdv-panel-head .muted{font-size:9px!important}
.pdv-search-box{
  height:44px!important;
  border-radius:11px!important;
  padding:0 10px!important;
}
.pdv-search-box input{font-size:12px!important}
.pdv-search-results{margin-top:8px!important}
.pdv-search-hint{
  min-height:78px!important;
  border-radius:11px!important;
  gap:3px!important;
}
.pdv-search-hint b{font-size:11px!important}
.pdv-search-hint span{font-size:9px!important}
.pdv-product-result{padding:7px 8px!important}
.search-result-thumb{width:38px!important;height:38px!important;flex-basis:38px!important}
.pdv-result-price>b{font-size:12px!important}
.pdv-cart{
  max-height:calc(100vh - 104px)!important;
  border-radius:14px!important;
  top:76px!important;
}
.pdv-cart .cart-head{padding:9px 11px!important}
.pdv-cart .cart-head b{font-size:12px!important}
.pdv-cart #cartList{
  min-height:175px!important;
  max-height:35vh!important;
}
.pdv-cart-item{padding:8px 10px!important}
.pdv-cart-item b{font-size:10px!important}
.pdv-qty-line{margin-top:6px!important}
.qty-stepper{grid-template-columns:29px 50px 29px!important;border-radius:8px!important}
.qty-stepper input{padding:5px 2px!important;font-size:10px!important}
.pdv-cart-controls{
  grid-template-columns:minmax(105px,1fr) 100px 88px!important;
  gap:5px!important;
  margin-top:6px!important;
}
.pdv-cart-controls .select,.pdv-cart-controls .input{
  padding:6px!important;
  font-size:9px!important;
  min-height:32px!important;
}
.pdv-cart .cart-total{
  padding:9px 11px!important;
}
.pdv-cart .pdv-totals-title{
  padding-bottom:4px!important;
  margin-bottom:5px!important;
}
.pdv-cart .sum-row{
  margin:4px 0!important;
  font-size:10px!important;
}
.pdv-cart .coupon-entry{
  margin:5px 0!important;
  gap:5px!important;
}
.pdv-cart .coupon-entry .input,
.pdv-cart .coupon-entry .btn{
  min-height:32px!important;
  padding:6px 8px!important;
  font-size:9px!important;
}
.pdv-cart .delivery-row{padding-top:4px!important;margin-top:4px!important}
.pdv-cart .pdv-grand-total{
  margin-top:5px!important;
  padding-top:6px!important;
  font-size:15px!important;
}
.pdv-cart .pdv-grand-total b{font-size:18px!important}
.pdv-cart .pdv-checkout-btn{
  min-height:36px!important;
  margin-top:6px!important;
  font-size:10px!important;
  border-radius:10px!important;
}

/* Finalização: base cabe em uma tela; rolagem só quando houver muitos itens/aparelhos */
.checkout-modal{
  width:min(860px,calc(100vw - 20px))!important;
  max-height:96vh!important;
  border-radius:16px!important;
}
.checkout-modal .modal-head{
  padding:8px 12px!important;
  min-height:42px!important;
}
.checkout-modal .modal-head h2{font-size:16px!important}
.checkout-modal .modal-body{
  padding:8px 10px!important;
  max-height:calc(96vh - 92px)!important;
  overflow:auto!important;
}
.checkout-modal .modal-foot{
  padding:7px 10px!important;
  min-height:45px!important;
}
.checkout-modal .modal-foot .btn{
  min-height:32px!important;
  padding:6px 9px!important;
  font-size:9px!important;
}
.checkout-split{
  grid-template-columns:minmax(0,1fr) 255px!important;
  gap:8px!important;
}
.checkout-total-card{
  padding:8px 9px!important;
  border-radius:11px!important;
}
.checkout-total-card .sum-row{
  margin:3px 0!important;
  font-size:10px!important;
}
.checkout-grand-total b{font-size:17px!important}
.checkout-section-title{
  margin:7px 0 4px!important;
  font-size:8px!important;
}
.checkout-modal .field{gap:3px!important}
.checkout-modal .field label{font-size:8px!important}
.checkout-modal .input,
.checkout-modal .select,
.checkout-modal .textarea{
  min-height:34px!important;
  padding:6px 8px!important;
  border-radius:9px!important;
  font-size:10px!important;
}
.checkout-modal .wa-input-row{gap:5px!important}
.checkout-modal .wa-pull-btn{
  width:36px!important;height:36px!important;border-radius:9px!important;
}
.checkout-modal .wa-icon{width:19px!important;height:19px!important}
.checkout-notes{
  min-height:42px!important;
  max-height:52px!important;
}
.checkout-payment-entry{
  margin-top:8px!important;
  padding-top:7px!important;
}
.checkout-payment-form{gap:5px!important}
.checkout-add-payment{
  min-height:33px!important;
  margin-top:5px!important;
  font-size:9px!important;
}
.trade-empty-note{padding:3px 1px!important;font-size:8px!important}
.trade-entry-btn{
  min-height:33px!important;
  margin-top:4px!important;
  font-size:9px!important;
}
.checkout-side-panel{
  gap:6px!important;
  padding:7px!important;
  border-radius:11px!important;
}
.checkout-side-status{
  padding:7px 8px!important;
  border-radius:9px!important;
}
.checkout-side-status span{font-size:7px!important}
.checkout-side-status strong{font-size:18px!important}
.checkout-side-status small{font-size:7.5px!important;line-height:1.3!important}
.checkout-payment-list{
  max-height:130px!important;
}
.checkout-payment-list .list-card{
  padding:6px 7px!important;
  margin-bottom:4px!important;
  border-radius:8px!important;
}
.checkout-payment-list h4{font-size:9px!important}
.checkout-payment-empty{padding:11px 6px!important;font-size:8px!important}
.checkout-explain{
  margin-top:5px!important;
  padding:7px!important;
  border-radius:9px!important;
  gap:3px!important;
}
.checkout-explain b{font-size:9px!important}
.checkout-explain span{font-size:7.5px!important;line-height:1.3!important}
.checkout-delivery{
  margin:6px 0!important;
  padding:7px!important;
  border-radius:9px!important;
}

/* Cards: mesma família visual e um pouco mais de altura (caixas ficam intocados) */
.standard-card-grid.collection-grid .standard-card,
.entity-grid.collection-grid .entity-card,
.product-grid.inventory-product-grid .inventory-product-card{
  min-height:168px!important;
}
.purchase-standard-card{
  min-height:178px!important;
}
.people-standard-card,
.device-standard-card{
  min-height:172px!important;
}

/* Calendário próprio, compacto, escuro e vermelho */
.pf-system-date{
  cursor:pointer!important;
}
.pf-system-date::-webkit-calendar-picker-indicator{
  opacity:.55;
  filter:grayscale(1);
  pointer-events:none;
}
.pf-calendar-modal{
  width:min(330px,calc(100vw - 24px))!important;
  border-radius:14px!important;
}
.pf-calendar-modal .modal-head{
  padding:9px 11px!important;
}
.pf-calendar-modal .modal-head h2{
  font-size:13px!important;
}
.pf-calendar-modal .modal-body{
  padding:0 10px 8px!important;
}
.pf-calendar-modal .modal-foot{
  padding:7px 9px!important;
  gap:5px!important;
}
.pf-calendar-modal .modal-foot .btn{
  min-height:29px!important;
  padding:5px 7px!important;
  font-size:8px!important;
}
.pf-calendar{
  min-width:0!important;
}
.pf-calendar .brand-cal-hero{
  background:var(--red)!important;
  border-radius:0 0 10px 10px!important;
  padding:8px 10px!important;
  margin:0 -10px 7px!important;
}
.pf-calendar .brand-cal-hero>div{
  font-size:9px!important;
}
.pf-calendar .brand-cal-hero strong{
  font-size:16px!important;
  margin-top:1px!important;
}
.pf-calendar .brand-cal-nav{
  grid-template-columns:34px 1fr 34px!important;
  margin-bottom:4px!important;
}
.pf-calendar .brand-cal-nav .btn{
  min-height:28px!important;
  padding:4px!important;
}
.pf-calendar .brand-cal-nav b{
  font-size:10px!important;
}
.pf-calendar .brand-cal-week,
.pf-calendar .brand-cal-days{
  gap:2px!important;
}
.pf-calendar .brand-cal-week span{
  padding:4px 0!important;
  font-size:8px!important;
}
.pf-calendar .brand-cal-days button,
.pf-calendar .brand-cal-days .empty{
  height:30px!important;
  width:30px!important;
  margin:auto!important;
  border-radius:50%!important;
  font-size:9px!important;
}
.pf-calendar .brand-cal-days button:hover{
  background:color-mix(in srgb,var(--red) 16%,var(--panel3))!important;
}
.pf-calendar .brand-cal-days button.selected{
  background:var(--red)!important;
  color:#fff!important;
  font-weight:900!important;
}

/* Responsivo do PDV compacto */
@media(max-width:1100px){
  .pdv-context-grid{
    grid-template-columns:1fr 1.35fr!important;
  }
  .pdv-main-layout{
    grid-template-columns:minmax(0,1fr) 340px!important;
  }
}
@media(max-width:900px){
  .pdv-context-grid,.pdv-main-layout{
    grid-template-columns:1fr!important;
  }
  .pdv-customer-card{max-width:none!important}
  .pdv-cart{position:static!important;max-height:none!important}
}


/* ===== Rodada 28/09 — calendarios globais, cards altura, OS glance, usados lifecycle ===== */

/* Calendário próprio em qualquer módulo: o input nativo permanece só para valor/formatação */
.pf-date-shell{
  position:relative;
  display:block;
  width:100%;
}
.pf-date-shell>.pf-system-date{
  width:100%;
  pointer-events:none!important;
}
.pf-date-hit{
  position:absolute;
  inset:0;
  width:100%;
  border:0;
  border-radius:inherit;
  background:transparent;
  cursor:pointer;
  color:transparent;
}
.pf-date-hit span{
  position:absolute;
  right:10px;
  top:50%;
  transform:translateY(-50%);
  color:var(--muted);
  font-size:10px;
}
.pf-date-hit:hover span{color:var(--red)}
.pf-date-hit:focus-visible{
  outline:2px solid var(--red);
  outline-offset:1px;
  border-radius:10px;
}

/* Cards: largura compacta; aumentar somente a altura. Caixas NÃO entram aqui. */
.standard-card-grid.collection-grid,
.entity-grid.collection-grid{
  grid-template-columns:repeat(auto-fill,minmax(260px,300px))!important;
  justify-content:start!important;
  align-items:stretch!important;
}
.standard-card-grid.collection-grid .standard-card,
.entity-grid.collection-grid .entity-card,
.product-grid.inventory-product-grid .inventory-product-card{
  min-height:184px!important;
  width:100%!important;
  max-width:300px!important;
}
.purchase-standard-card{min-height:192px!important}
.people-standard-card,.device-standard-card{min-height:186px!important}
.closed-cash-card,.open-cash-card{max-width:none}

/* Compra de aparelhos / negociações */
.device-negotiation-tabs{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  margin:0 0 10px;
}
.device-negotiation-tabs button{
  border:1px solid var(--border);
  background:var(--panel2);
  color:var(--muted);
  border-radius:999px;
  min-height:30px;
  padding:5px 11px;
  font-size:9px;
  font-weight:850;
}
.device-negotiation-tabs button:hover{
  color:var(--text);
  border-color:color-mix(in srgb,var(--red) 55%,var(--border));
}
.device-negotiation-tabs button.active{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}
.device-negotiation-menu .device-cancel-last{
  margin-top:5px;
  padding-top:9px!important;
  border-top:1px solid var(--border)!important;
}
.device-disposition-warning{
  display:grid;
  grid-template-columns:38px 1fr;
  gap:10px;
  align-items:start;
}
.device-disposition-warning>div{display:grid;gap:5px}
.device-disposition-warning p{margin:0;color:var(--muted);line-height:1.45}
.device-warning-icon{
  width:36px;height:36px;border-radius:11px;
  display:grid;place-items:center;
  background:color-mix(in srgb,var(--danger) 14%,var(--panel3));
  color:var(--danger);font-weight:1000;font-size:18px;
}
.device-trace{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.device-trace>div{
  display:grid;gap:3px;padding:9px;
  border:1px solid var(--border);
  background:var(--panel2);
  border-radius:10px;
}
.device-trace span{font-size:8px;color:var(--muted);text-transform:uppercase;font-weight:850}
.device-trace b{font-size:10px}

/* O.S.: leitura rápida abaixo do cabeçalho */
.os-card-glance{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:8px;
}
.os-card-glance>div{
  min-width:0;
  display:grid;
  gap:2px;
  padding:6px 7px;
  border:1px solid var(--border);
  border-radius:8px;
  background:color-mix(in srgb,var(--panel2) 92%,transparent);
}
.os-card-glance span{
  font-size:6.5px;
  color:var(--muted);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.os-card-glance b{
  min-width:0;
  font-size:8.5px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.os-card-glance b.ok{color:var(--success)}
.os-card-glance b.warn{color:var(--warning)}
.os-card-glance b.danger{color:var(--danger)}
.os-order-list.grid-mode .os-order-card{
  min-height:205px!important;
}
.os-order-list.grid-mode .os-card-glance{
  grid-column:1/-1;
  grid-template-columns:1fr 1fr;
}
.os-order-list.list-mode .os-order-card{
  min-height:118px;
}
@media(max-width:700px){
  .device-trace{grid-template-columns:1fr}
  .os-card-glance{grid-template-columns:1fr 1fr}
}

/* Sucata nos produtos */
.inventory-tabs button[data-stock-tab="scrap"].active{
  background:var(--warning)!important;
  color:#151515!important;
}


/* ===== Hotfix 28/09 — sucata + ações do estoque mais abaixo ===== */
.inventory-head-actions{
  margin-top:18px!important;
}
@media(max-width:700px){
  .inventory-head-actions{margin-top:8px!important}
}


/* ===== Rodada 28/09 — ajustes finais PDV, cliente, sucata e filtros usados ===== */

/* Toast atual: um único ícone visual */
.toast::before{content:none!important;display:none!important}
.toast{
  padding-left:12px!important;
}

/* Compra de aparelhos: filtros um pouco maiores, sem exagero */
.device-filter-panel{
  padding:12px 13px!important;
}
.device-filter-panel .compact-filter-head{
  padding-bottom:9px!important;
  margin-bottom:9px!important;
}
.device-filter-grid{
  gap:9px 10px!important;
}
.device-filter-grid .field{
  gap:4px!important;
}
.device-filter-grid .field label{
  font-size:8.5px!important;
}
.device-filter-grid .input,
.device-filter-grid .select{
  min-height:38px!important;
  height:38px!important;
  padding:8px 10px!important;
  font-size:10px!important;
}
.device-filter-panel .compact-filter-buttons .btn{
  min-height:35px!important;
  padding:7px 11px!important;
}

/* PDV principal: mais compacto e com proporção mais limpa.
   Não altera a janela de Finalização da venda. */
.pdv-context-grid{
  grid-template-columns:minmax(245px,330px) minmax(360px,560px)!important;
  gap:8px!important;
  margin-bottom:8px!important;
}
.pdv-context-card,
.pdv-customer-card{
  min-height:62px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
}
.pdv-context-card{
  grid-template-columns:78px 1fr!important;
}
.pdv-context-card b{font-size:10.5px!important;line-height:1.25!important}
.pdv-context-card small{font-size:8px!important}
.pdv-customer-title{
  margin-bottom:2px!important;
}
.pdv-customer-title .btn{
  min-height:26px!important;
  padding:4px 7px!important;
  font-size:7.5px!important;
}
.pdv-customer-main{
  gap:7px!important;
  margin-top:1px!important;
}
.pdv-customer-avatar{
  width:29px!important;height:29px!important;border-radius:8px!important;
}
.pdv-customer-main .grow b{font-size:10.5px!important}
.pdv-customer-main .grow small{font-size:8px!important}
.pdv-main-layout{
  grid-template-columns:minmax(0,1fr) 340px!important;
  gap:8px!important;
  align-items:start!important;
}
.pdv-catalog{
  min-height:300px!important;
  padding:10px!important;
  border-radius:13px!important;
  box-shadow:none!important;
}
.pdv-panel-head{
  margin-bottom:7px!important;
}
.pdv-panel-head h3{
  font-size:13px!important;
  margin-top:3px!important;
}
.pdv-panel-head .muted{font-size:8px!important}
.pdv-search-box{
  height:40px!important;
  min-height:40px!important;
  padding:0 9px!important;
  border-radius:10px!important;
}
.pdv-search-box input{font-size:11px!important}
.pdv-search-results{margin-top:7px!important}
.pdv-search-hint{
  min-height:70px!important;
  padding:9px!important;
}
.pdv-search-hint b{font-size:10px!important}
.pdv-search-hint span{font-size:8px!important}
.pdv-product-result{
  padding:6px 7px!important;
  min-height:52px!important;
}
.pdv-product-result .search-result-thumb{
  width:35px!important;height:35px!important;flex-basis:35px!important;
}
.pdv-product-result b{font-size:9.5px!important}
.pdv-product-result .small{font-size:7.5px!important}
.pdv-result-price .btn{
  min-height:28px!important;
  padding:5px 7px!important;
  font-size:8px!important;
}
.pdv-cart{
  border-radius:13px!important;
  max-height:calc(100vh - 92px)!important;
  box-shadow:none!important;
}
.pdv-cart .cart-head{
  padding:8px 10px!important;
}
.pdv-cart .cart-head b{font-size:11px!important}
.pdv-cart #cartList{
  min-height:150px!important;
  max-height:32vh!important;
}
.pdv-cart-empty{
  min-height:145px!important;
  padding:14px 10px!important;
}
.pdv-cart-empty b{font-size:11px!important}
.pdv-cart-empty span{font-size:8.5px!important}
.pdv-cart .cart-total{
  padding:8px 10px!important;
}
.pdv-cart .pdv-totals-title{
  margin-bottom:4px!important;
  padding-bottom:4px!important;
}
.pdv-cart .sum-row{
  margin:3px 0!important;
  font-size:9px!important;
}
.pdv-cart .coupon-entry{
  margin:5px 0!important;
  gap:5px!important;
}
.pdv-cart .coupon-entry .input,
.pdv-cart .coupon-entry .btn{
  min-height:30px!important;
  height:30px!important;
  padding:5px 7px!important;
  font-size:8px!important;
}
.pdv-cart .delivery-row{
  padding-top:4px!important;
}
.pdv-cart .pdv-grand-total{
  margin-top:5px!important;
  padding-top:6px!important;
  font-size:13px!important;
}
.pdv-cart .pdv-grand-total b{
  font-size:17px!important;
}
.pdv-cart .pdv-checkout-btn{
  min-height:34px!important;
  margin-top:6px!important;
  border-radius:9px!important;
  font-size:9px!important;
}
.pdv-step{
  font-size:7px!important;
  padding:3px 5px!important;
}

/* Seletor de cliente do PDV */
.customer-picker-search{
  margin-bottom:8px;
}
.customer-picker-filters{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-bottom:9px;
}
.customer-picker-filters .select{
  min-height:34px;
  height:34px;
  padding:6px 8px;
  font-size:9px;
}
.customer-picker-results{
  min-height:105px;
  display:grid;
  align-content:start;
  gap:6px;
}
.customer-picker-empty{
  min-height:96px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:4px;
  border:1px dashed var(--border);
  border-radius:11px;
  color:var(--muted);
  text-align:center;
}
.customer-picker-empty b{color:var(--text);font-size:10px}
.customer-picker-empty span{font-size:8.5px}
.customer-picker-card{
  padding:8px 10px!important;
  border-radius:10px!important;
}
.customer-picker-card h4{
  font-size:10px!important;
  margin:0 0 3px!important;
}
.customer-picker-card .small{font-size:8px!important}
.customer-picker-card .btn{
  min-height:29px!important;
  padding:5px 8px!important;
  font-size:8px!important;
}
.customer-picker-copy{min-width:0}

@media(max-width:1050px){
  .pdv-context-grid{
    grid-template-columns:1fr 1.4fr!important;
  }
  .pdv-main-layout{
    grid-template-columns:minmax(0,1fr) 320px!important;
  }
}
@media(max-width:900px){
  .pdv-context-grid,.pdv-main-layout{
    grid-template-columns:1fr!important;
  }
  .pdv-cart{position:static!important;max-height:none!important}
}
@media(max-width:620px){
  .customer-picker-filters{grid-template-columns:1fr}
}


/* ===== Sidebar rail hover — 28/09 ===== */
:root{
  --pf-sidebar-rail:58px;
  --pf-sidebar-expanded:226px;
}

@media(min-width:901px){
  /* O conteúdo reserva somente a faixa de ícones; a abertura ocorre por cima sem empurrar a tela. */
  .sidebar,
  .sidebar.closed{
    width:var(--pf-sidebar-rail)!important;
    transform:none!important;
    overflow:hidden!important;
    transition:width .18s ease, box-shadow .18s ease!important;
    z-index:80!important;
  }
  .sidebar.closed:hover,
  .sidebar:hover{
    width:var(--pf-sidebar-expanded)!important;
    box-shadow:12px 0 30px rgba(0,0,0,.30)!important;
  }

  .main,
  .main.full{
    margin-left:var(--pf-sidebar-rail)!important;
    transition:none!important;
  }

  /* No desktop não há mais botão para fixar/abrir o menu. */
  .menu-toggle{
    display:none!important;
  }
  .topbar{
    grid-template-columns:auto minmax(190px,1fr) auto 40px 42px!important;
  }

  /* Cabeçalho da lateral: compacto mostra só a marca. */
  .side-company{
    width:100%!important;
    min-height:58px!important;
    padding:8px 10px!important;
    gap:9px!important;
    overflow:hidden!important;
    justify-content:flex-start!important;
  }
  .side-company .brand-mark{
    flex:0 0 36px!important;
    width:36px!important;
    height:36px!important;
  }
  .side-company>div:last-child{
    opacity:0!important;
    visibility:hidden!important;
    width:0!important;
    min-width:0!important;
    overflow:hidden!important;
    transition:opacity .12s ease!important;
  }
  .sidebar:hover .side-company>div:last-child{
    opacity:1!important;
    visibility:visible!important;
    width:auto!important;
    min-width:0!important;
  }

  /* Rail: todos os itens viram apenas ícones centralizados. */
  .side-nav{
    padding:5px 7px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .side-nav>.nav-btn,
  .side-group-toggle,
  .side-footer>.nav-btn{
    width:44px!important;
    min-width:44px!important;
    min-height:36px!important;
    padding:6px!important;
    margin:2px 0!important;
    gap:0!important;
    justify-content:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    transition:width .16s ease, padding .16s ease, gap .16s ease!important;
  }
  .nav-btn .ico{
    width:22px!important;
    min-width:22px!important;
    flex:0 0 22px!important;
    text-align:center!important;
    margin:0!important;
  }
  .side-nav>.nav-btn>span:not(.ico),
  .side-group-toggle>span:not(.ico),
  .side-footer>.nav-btn>span:not(.ico),
  .side-footer>.nav-btn:not(:has(span:nth-child(2))){
    /* rótulos somem na faixa compacta */
  }
  .side-nav>.nav-btn>span:nth-child(2),
  .side-group-toggle>span:nth-child(2),
  .side-footer>.nav-btn>span:nth-child(2),
  .side-chevron{
    display:none!important;
  }

  /* No rail compacto, o Sair mostra só o ícone; o texto volta quando a sidebar abre no hover. */
  .side-footer{
    padding:5px 7px!important;
    overflow:hidden!important;
  }

  /* Submenus não aparecem no rail compacto. */
  .side-subnav{
    display:none!important;
  }

  /* Hover abre o menu completo. */
  .sidebar:hover .side-nav{
    padding:5px!important;
  }
  .sidebar:hover .side-nav>.nav-btn,
  .sidebar:hover .side-group-toggle,
  .sidebar:hover .side-footer>.nav-btn{
    width:100%!important;
    min-width:0!important;
    padding:6px 8px!important;
    gap:8px!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  .sidebar:hover .side-nav>.nav-btn>span:nth-child(2),
  .sidebar:hover .side-group-toggle>span:nth-child(2),
  .sidebar:hover .side-footer>.nav-btn>span:nth-child(2),
  .sidebar:hover .side-chevron{
    display:inline-flex!important;
  }
  .sidebar:hover .side-chevron{
    margin-left:auto!important;
  }
  .sidebar:hover .side-group.open .side-subnav{
    display:block!important;
  }
  .sidebar:hover .nav-btn.sub{
    width:100%!important;
    min-height:29px!important;
    padding:5px 8px 5px 11px!important;
    display:flex!important;
  }

  /* Item selecionado continua vermelho mesmo no modo compacto. */
  .sidebar .nav-btn.active{
    background:var(--red)!important;
    color:#fff!important;
  }

  /* Tooltip nativo simples nos ícones do rail usando o título já disponível via texto:
     o menu expandido continua sendo a forma principal de identificar cada módulo. */
  .sidebar.closed:not(:hover) .side-group{
    width:44px!important;
  }

  /* Ambiente DEV respeita a barra amarela e mantém o rail até o rodapé. */
  body.dev-environment .sidebar{
    top:26px!important;
    height:calc(100dvh - 26px)!important;
  }
}

/* Mobile mantém o comportamento por clique, sem hover automático. */
@media(max-width:900px){
  .sidebar,
  .sidebar.closed{
    width:min(86vw,270px)!important;
    transform:translateX(-100%)!important;
  }
  .sidebar.mobile-open{
    transform:translateX(0)!important;
  }
  .main,.main.full{margin-left:0!important}
}


/* ===== Hotfix 28/09 — topbar acompanha a sidebar expandida ===== */
@media(min-width:901px){
  .topbar{
    transition:padding-left .18s ease!important;
  }
  .sidebar:hover + .main .topbar{
    padding-left:calc(12px + var(--pf-sidebar-expanded) - var(--pf-sidebar-rail))!important;
  }
}
@media(min-width:901px) and (max-width:1180px){
  .sidebar:hover + .main .topbar{
    padding-left:calc(8px + var(--pf-sidebar-expanded) - var(--pf-sidebar-rail))!important;
  }
}


/* ===== Rodada 28/09 — ícones, PDV quadrado, alertas e financeiro ===== */
.module-card .icon svg{
  width:23px!important;
  height:23px!important;
  display:block;
}

.header-popover-head{gap:10px}
.header-popover-actions{display:flex;align-items:center;gap:5px;margin-left:auto}
.header-popover-clear{
  min-height:26px;padding:4px 8px;border:1px solid var(--border);border-radius:8px;
  background:var(--panel3);color:var(--muted);font-size:8px;font-weight:850;cursor:pointer
}
.header-popover-clear:hover{
  color:#fff;border-color:var(--red);background:color-mix(in srgb,var(--red) 16%,var(--panel3))
}

/* PDV mais quadrado, compacto e com etapas no estilo Pronto Flux. */
.pdv-stage-tabs{
  width:100%;max-width:1080px;margin:0 auto 8px;display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px;
  border:1px solid var(--border);border-radius:13px;background:var(--panel)
}
.pdv-stage-tab{
  min-height:34px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);
  display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 9px;
  font-size:8.5px;font-weight:900;letter-spacing:.025em;cursor:pointer
}
.pdv-stage-tab span{
  width:18px;height:18px;border-radius:6px;display:grid;place-items:center;
  background:var(--panel3);color:var(--muted);font-size:8px
}
.pdv-stage-tab:hover{color:var(--text);background:var(--panel2)}
.pdv-stage-tab.active{
  color:#fff;background:color-mix(in srgb,var(--red) 20%,var(--panel2));
  border-color:color-mix(in srgb,var(--red) 50%,var(--border))
}
.pdv-stage-tab.active span{background:var(--red);color:#fff}
@media(min-width:901px){
  .pdv-context-grid,.pdv-main-layout{
    width:100%!important;max-width:1080px!important;margin-left:auto!important;margin-right:auto!important
  }
  .pdv-context-grid{grid-template-columns:315px minmax(0,1fr)!important}
  .pdv-main-layout{
    grid-template-columns:minmax(0,1.15fr) minmax(370px,.85fr)!important;
    gap:9px!important;align-items:stretch!important
  }
  .pdv-catalog{min-height:390px!important}
  .pdv-cart{min-height:390px!important;max-height:calc(100vh - 112px)!important}
  .pdv-cart #cartList{min-height:178px!important;max-height:34vh!important}
}
@media(max-width:900px){
  .pdv-stage-tabs{grid-template-columns:1fr 1fr}
}

/* Financeiro um pouco menor, sem esconder funções. */
.finance-page{width:100%}
.finance-page .page-head{margin-bottom:10px!important}
.finance-page .page-head .actions{gap:7px!important}
.finance-page .page-head .btn{min-height:34px!important;padding:7px 11px!important;font-size:9px!important}
.finance-page .stat-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-bottom:10px!important
}
.finance-page .stat{padding:12px 14px!important;border-radius:13px!important}
.finance-page .stat span{font-size:9px!important}
.finance-page .stat b{font-size:19px!important;margin-top:6px!important}
.finance-page .stat em{font-size:9px!important}
.finance-page .finance-accounts{gap:9px!important;margin:9px 0!important}
.finance-page .account-card{padding:12px 13px!important;border-radius:13px!important}
.finance-page .account-card h3{margin:2px 0 5px!important;font-size:12px!important}
.finance-page .account-card>b{font-size:19px!important;margin-bottom:4px!important}
.finance-page .account-card span,.finance-page .account-card small{font-size:8.5px!important}
.finance-page .finance-filters{margin:9px 0!important;gap:7px!important}
.finance-page .finance-filters .select{
  min-width:190px!important;min-height:36px!important;height:36px!important;padding:7px 9px!important;font-size:9.5px!important
}
.finance-page .table th,.finance-page .table td{padding:9px 10px!important}

.finance-account-card-head{
  display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:7px
}
.finance-account-card-head>img,.finance-account-icon{
  width:34px;height:34px;border-radius:10px;object-fit:cover;display:grid;place-items:center;
  background:color-mix(in srgb,var(--red) 12%,var(--panel3));color:var(--red)
}
.finance-account-icon svg{width:18px;height:18px}
.finance-account-card-head .tag{font-size:7.5px!important;padding:3px 6px!important}

/* Nova conta gerencial com foto e dados complementares. */
.financial-account-form{display:grid;grid-template-columns:150px minmax(0,1fr);gap:14px}
.financial-account-photo-panel{display:flex;flex-direction:column;gap:7px;align-items:stretch}
.financial-account-photo-preview{
  width:118px;height:118px;margin:0 auto;border:1px dashed var(--border);border-radius:18px;
  display:grid;place-items:center;overflow:hidden;background:var(--panel2);color:var(--red)
}
.financial-account-photo-preview svg{width:38px;height:38px}
.financial-account-photo-preview img{width:100%;height:100%;object-fit:cover}
.financial-account-photo-panel>small{text-align:center;color:var(--muted);font-size:8px}
.financial-account-fields{gap:9px!important}
.financial-account-options{grid-column:1/-1;display:grid;gap:7px;margin-top:2px}
.financial-account-option{
  display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;border:1px solid var(--border);
  border-radius:11px;padding:9px 10px;background:var(--panel2);cursor:pointer
}
.financial-account-option input{width:16px;height:16px;margin:2px 0 0;accent-color:var(--red)}
.financial-account-option span{display:grid;gap:2px}
.financial-account-option b{font-size:9.5px}
.financial-account-option small{color:var(--muted);font-size:8px;line-height:1.4}
@media(max-width:620px){
  .financial-account-form{grid-template-columns:1fr}
  .financial-account-photo-panel{max-width:220px;margin:auto;width:100%}
  .finance-page .stat-grid{grid-template-columns:1fr 1fr!important}
}


/* Limpeza individual de alertas e avisos */
.header-notice-shell{
  position:relative;
}
.header-notice-shell .header-notice-row{
  width:100%;
  padding-right:34px!important;
}
.header-notice-dismiss{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border:1px solid transparent;
  border-radius:6px;
  background:transparent;
  color:var(--muted);
  font-size:14px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
  z-index:2;
}
.header-notice-dismiss:hover{
  color:#fff;
  background:color-mix(in srgb,var(--red) 22%,var(--panel3));
  border-color:color-mix(in srgb,var(--red) 45%,var(--border));
}


/* Processar estoque parcial da compra */
.purchase-stock-modal{
  width:min(680px,calc(100vw - 28px))!important;
  max-width:680px!important;
}
.purchase-stock-modal .modal-body{
  padding:14px!important;
}
.purchase-stock-process-note{
  padding:11px 12px!important;
  margin-bottom:10px!important;
  border-radius:10px!important;
  font-size:10px!important;
  line-height:1.45!important;
}
.purchase-stock-select-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:2px 0 8px;
}
.purchase-stock-select-head label{
  display:flex;
  align-items:center;
  gap:7px;
  font-size:9px;
  font-weight:850;
  cursor:pointer;
}
.purchase-stock-select-head input{
  width:15px;
  height:15px;
  accent-color:var(--red);
}
.purchase-stock-select-head small{
  color:var(--muted);
  font-size:8px;
}
.purchase-stock-items{
  display:grid;
  gap:6px;
  max-height:360px;
  overflow:auto;
}
.purchase-stock-item{
  display:grid;
  grid-template-columns:18px 18px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:9px 10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--panel2);
  cursor:pointer;
}
.purchase-stock-item:hover{
  border-color:color-mix(in srgb,var(--red) 48%,var(--border));
}
.purchase-stock-item>input{
  width:15px;
  height:15px;
  margin:0;
  accent-color:var(--red);
}
.purchase-stock-check{
  width:16px;
  height:16px;
  border-radius:5px;
  background:color-mix(in srgb,var(--red) 10%,var(--panel3));
  border:1px solid color-mix(in srgb,var(--red) 28%,var(--border));
}
.purchase-stock-item:has(input:checked){
  border-color:color-mix(in srgb,var(--red) 52%,var(--border));
  background:color-mix(in srgb,var(--red) 6%,var(--panel2));
}
.purchase-stock-item:has(input:checked) .purchase-stock-check{
  background:var(--red);
  border-color:var(--red);
  box-shadow:inset 0 0 0 4px var(--panel2);
}
.purchase-stock-item-copy{
  display:grid;
  gap:2px;
  min-width:0;
}
.purchase-stock-item-copy b{
  font-size:10px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.purchase-stock-item-copy small{
  font-size:8.5px;
  color:var(--muted);
}
.purchase-stock-modal .modal-foot{
  padding:10px 14px!important;
}


/* Fornecedor no mesmo padrão visual do cliente */
.supplier-tabs{
  grid-template-columns:repeat(3,1fr)!important;
}
.supplier-photo{
  color:var(--red);
}
.supplier-photo svg{
  width:74px;
  height:74px;
  opacity:.8;
}
@media(max-width:760px){
  .supplier-tabs{
    grid-template-columns:1fr!important;
  }
  .supplier-photo svg{
    width:52px;
    height:52px;
  }
}


/* ===== Rodada 28/09 — cliente inline no PDV, fotos e placeholders ===== */

/* Fornecedor: área de foto clicável e editável */
.supplier-photo-button{
  width:100%;
  padding:0;
  border:1px dashed var(--border);
  cursor:pointer;
  color:var(--red);
  appearance:none;
  -webkit-appearance:none;
}
.supplier-photo-button:hover{
  border-color:var(--red);
  background:color-mix(in srgb,var(--red) 6%,var(--panel2));
}
.supplier-photo-button:focus-visible{
  outline:2px solid color-mix(in srgb,var(--red) 65%,transparent);
  outline-offset:2px;
}
.supplier-photo-button svg{
  width:74px;
  height:74px;
}
.supplier-image-action{
  width:100%;
}

/* Ícones de fallback para itens sem foto */
.item-placeholder{
  color:var(--red)!important;
  background:color-mix(in srgb,var(--red) 8%,var(--panel2))!important;
}
.item-placeholder svg{
  width:58%;
  height:58%;
  display:block;
}
.product-card-thumb.item-placeholder svg{
  width:30px;
  height:30px;
}
.search-result-thumb.item-placeholder svg{
  width:23px;
  height:23px;
}
.standard-card-thumb.item-placeholder svg{
  width:24px;
  height:24px;
}
.device-detail-main-photo.item-placeholder svg{
  width:52px;
  height:52px;
}
.device-placeholder{
  color:var(--red)!important;
}

/* PDV: cliente abre dentro da própria tela, no estilo de etapas do Pronto Flux */
.pdv-cash-strip{
  width:100%;
  max-width:1080px;
  min-height:34px;
  margin:0 auto 8px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 9px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--panel);
  color:var(--muted);
}
.pdv-cash-strip>b{
  color:var(--text);
  font-size:9px;
}
.pdv-cash-strip>small{
  font-size:8px;
}
.pdv-cash-client{
  margin-left:auto;
  font-size:8px;
}
.pdv-cash-client b{
  color:var(--text);
}

.pdv-customer-workspace{
  min-height:390px;
  padding:11px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--panel);
  overflow:hidden;
}
.pdv-client-work-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  padding-bottom:9px;
  border-bottom:1px solid var(--border);
}
.pdv-client-work-head h3{
  margin:4px 0 2px;
  font-size:14px;
}
.pdv-client-work-head p{
  margin:0;
  color:var(--muted);
  font-size:8.5px;
}
.pdv-client-search-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  margin-top:10px;
}
.pdv-client-search-line .search-box{
  min-height:39px;
  height:39px;
  border-radius:10px;
}
.pdv-client-search-line .search-box input{
  font-size:10px;
}
.pdv-client-search-line>.btn{
  min-height:39px;
  padding:7px 10px;
  font-size:8.5px;
}
.pdv-inline-client-results{
  display:grid;
  gap:6px;
  margin-top:8px;
  max-height:300px;
  overflow:auto;
}
.pdv-inline-client-row{
  width:100%;
  display:grid;
  grid-template-columns:31px minmax(0,1fr) 16px;
  gap:8px;
  align-items:center;
  padding:8px 9px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--panel2);
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.pdv-inline-client-row:hover{
  border-color:var(--red);
}
.pdv-inline-client-icon{
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:var(--panel3);
  overflow:hidden;
}
.pdv-inline-client-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.pdv-inline-client-row>span:nth-child(2){
  display:grid;
  gap:2px;
  min-width:0;
}
.pdv-inline-client-row b{
  font-size:10px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pdv-inline-client-row small{
  color:var(--muted);
  font-size:8px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pdv-inline-client-row i{
  color:var(--muted);
  font-style:normal;
  font-size:16px;
}

.pdv-selected-client-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-bottom:9px;
  border-bottom:1px solid var(--border);
}
.pdv-selected-client-main{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.pdv-inline-avatar{
  width:38px;
  height:38px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--panel2);
  overflow:hidden;
  display:grid;
  place-items:center;
}
.pdv-inline-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.pdv-inline-avatar span{
  font-size:20px;
}
.pdv-selected-client-main>div:last-child{
  min-width:0;
}
.pdv-selected-client-main span{
  color:var(--muted);
  font-size:7px;
  font-weight:900;
}
.pdv-selected-client-main h3{
  margin:2px 0 0;
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.pdv-selected-client-actions{
  display:flex;
  gap:5px;
}
.pdv-icon-action{
  width:30px;
  height:30px;
  border:1px solid var(--border);
  border-radius:8px;
  display:grid;
  place-items:center;
  cursor:pointer;
  color:#fff;
  font-weight:900;
}
.pdv-icon-action.edit{
  background:var(--success);
}
.pdv-icon-action.remove{
  background:var(--red);
}
.pdv-selected-client-details{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  margin-top:8px;
}
.pdv-selected-client-details>div{
  min-width:0;
  padding:7px 8px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--panel2);
}
.pdv-selected-client-details span{
  display:block;
  color:var(--muted);
  font-size:7px;
  font-weight:850;
}
.pdv-selected-client-details b{
  display:block;
  margin-top:3px;
  font-size:8.5px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.pdv-delivery-box{
  margin-top:9px;
  padding-top:9px;
  border-top:1px solid var(--border);
}
.pdv-delivery-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.pdv-delivery-switch{
  display:flex;
  gap:5px;
}
.pdv-delivery-switch button{
  min-width:92px;
  min-height:31px;
  padding:6px 10px;
  border:1px solid var(--border);
  border-radius:999px;
  background:var(--panel2);
  color:var(--muted);
  font-size:8px;
  font-weight:900;
  cursor:pointer;
}
.pdv-delivery-switch button.active{
  color:#fff;
  background:var(--red);
  border-color:var(--red);
}
.pdv-pickup-note{
  display:grid;
  gap:3px;
  margin-top:9px;
  padding:10px;
  border-radius:10px;
  border:1px solid var(--border);
  background:var(--panel2);
}
.pdv-pickup-note b{
  font-size:9.5px;
}
.pdv-pickup-note span{
  color:var(--muted);
  font-size:8px;
}
.pdv-selected-address{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:9px;
  padding:10px;
  border:1px solid color-mix(in srgb,var(--success) 35%,var(--border));
  border-radius:10px;
  background:color-mix(in srgb,var(--success) 6%,var(--panel2));
}
.pdv-selected-address>div:first-child{
  display:grid;
  gap:3px;
  min-width:0;
}
.pdv-selected-address span{
  color:var(--success);
  font-size:7px;
  font-weight:900;
}
.pdv-selected-address b{
  font-size:9px;
  line-height:1.35;
}
.pdv-selected-address small{
  color:var(--muted);
  font-size:8px;
}
.pdv-selected-address>div:last-child{
  display:flex;
  gap:5px;
  flex:0 0 auto;
}
.pdv-address-editor{
  margin-top:9px;
  padding:10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--panel2);
}
.pdv-address-editor .form-grid{
  gap:7px;
}
.pdv-address-editor .field{
  gap:3px;
}
.pdv-address-editor .field label{
  font-size:7.5px;
}
.pdv-address-editor .input{
  min-height:34px;
  height:34px;
  padding:6px 8px;
  font-size:9px;
}
.pdv-address-save-line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:8px;
  padding-top:8px;
  border-top:1px solid var(--border);
}
.pdv-address-save-line .check{
  font-size:8px;
}
.pdv-address-save-line .btn{
  min-height:32px;
  padding:6px 10px;
  font-size:8px;
}
.pdv-customer-next{
  display:flex;
  justify-content:flex-end;
  margin-top:9px;
}
.pdv-customer-next .btn{
  min-height:33px;
  padding:7px 11px;
  font-size:8.5px;
}

/* Lista de endereços do cliente */
.pdv-address-list{
  display:grid;
  gap:7px;
}
.pdv-address-list-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:10px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--panel2);
}
.pdv-address-list-row>div{
  display:grid;
  gap:2px;
  min-width:0;
}
.pdv-address-list-row b{
  font-size:10px;
}
.pdv-address-list-row span,
.pdv-address-list-row small{
  color:var(--muted);
  font-size:8px;
  line-height:1.35;
}

@media(max-width:900px){
  .pdv-cash-strip{
    flex-wrap:wrap;
  }
  .pdv-cash-client{
    margin-left:0;
    width:100%;
  }
  .pdv-selected-client-details{
    grid-template-columns:1fr;
  }
  .pdv-delivery-top,
  .pdv-selected-address,
  .pdv-address-save-line{
    align-items:stretch;
    flex-direction:column;
  }
  .pdv-selected-address>div:last-child{
    width:100%;
  }
  .pdv-selected-address>div:last-child .btn{
    flex:1;
  }
}


/* ===== Rodada 28/09 — finalização como 4ª etapa do PDV ===== */

.pdv-main-layout.checkout-stage-mode{
  grid-template-columns:minmax(0,1fr)!important;
  max-width:1080px!important;
}
.pdv-checkout-stage{
  width:100%;
  min-width:0;
}
.pdv-checkout-loading{
  min-height:280px;
  display:grid;
  place-items:center;
  color:var(--muted);
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--panel);
  font-size:9px;
}

/* A finalização usa a mesma estrutura já validada, mas dentro da tela do PDV. */
.checkout-inline-backdrop.modal-backdrop{
  position:static!important;
  inset:auto!important;
  width:100%!important;
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  display:block!important;
  z-index:auto!important;
}
.checkout-inline-backdrop .checkout-inline-panel{
  width:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  border:1px solid var(--border)!important;
  border-radius:13px!important;
  box-shadow:none!important;
  overflow:visible!important;
  background:var(--panel)!important;
}
.checkout-inline-backdrop .checkout-inline-panel .modal-head{
  min-height:46px!important;
  padding:10px 13px!important;
  border-bottom:1px solid var(--border)!important;
}
.checkout-inline-backdrop .checkout-inline-panel .modal-head h2{
  font-size:15px!important;
}
.checkout-inline-backdrop .checkout-inline-panel .modal-body{
  max-height:none!important;
  overflow:visible!important;
  padding:12px!important;
}
.checkout-inline-backdrop .checkout-inline-panel .modal-foot{
  position:static!important;
  padding:10px 12px!important;
  border-top:1px solid var(--border)!important;
  background:var(--panel)!important;
}
.checkout-inline-backdrop .checkout-split{
  gap:10px!important;
}
.checkout-inline-backdrop .checkout-total-card,
.checkout-inline-backdrop .checkout-side-panel,
.checkout-inline-backdrop .checkout-payment-entry,
.checkout-inline-backdrop .checkout-delivery{
  border-radius:11px!important;
}
.checkout-inline-backdrop .checkout-section-title{
  margin-top:10px!important;
}

/* Atalho exibido logo depois que um produto é adicionado. */
.pdv-item-added-hint{
  gap:6px!important;
}
.pdv-item-added-hint .btn{
  margin-top:3px;
  min-height:31px!important;
  padding:6px 10px!important;
  font-size:8px!important;
  border-radius:8px!important;
}

@media(max-width:900px){
  .checkout-inline-backdrop .checkout-split{
    grid-template-columns:1fr!important;
  }
}


/* Serviço sem foto: mesma chave da O.S., menor dentro do quadrado */
.product-card-thumb.service-placeholder svg{
  width:22px!important;
  height:22px!important;
}
.search-result-thumb.service-placeholder svg{
  width:18px!important;
  height:18px!important;
}


/* Estoque: preços de venda e código de barras nos cards */
.inventory-sale-info{
  display:flex;
  align-items:stretch;
  gap:5px;
  flex-wrap:wrap;
  margin:7px 0 6px;
}
.inventory-sale-info>span{
  min-width:72px;
  max-width:100%;
  display:grid;
  gap:2px;
  padding:6px 8px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--panel2);
}
.inventory-sale-info small{
  color:var(--muted);
  font-size:6.5px;
  font-weight:900;
  letter-spacing:.04em;
}
.inventory-sale-info b{
  color:var(--success);
  font-size:9px;
  white-space:nowrap;
}
.inventory-sale-info .barcode{
  flex:1 1 105px;
  min-width:105px;
}
.inventory-sale-info .barcode b{
  color:var(--text);
  overflow:hidden;
  text-overflow:ellipsis;
}
.product-options-menu .danger-text,
.entity-options-menu .danger-text{
  color:var(--danger)!important;
}
.product-options-menu .danger-text:hover,
.entity-options-menu .danger-text:hover{
  background:color-mix(in srgb,var(--danger) 12%,var(--panel2))!important;
}


/* ===== Rodada 28/09 — financeiro, avisos e cards refinados ===== */

/* Avisos: contador de não lidos e atualização clicável */
.notice-button{position:relative!important}
.notice-badge{
  position:absolute;
  top:-3px;
  right:-3px;
  min-width:13px;
  height:13px;
  padding:0 2px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--red);
  color:#fff;
  border:1px solid var(--panel);
  font-size:7px;
  font-weight:900;
  line-height:13px;
  text-align:center;
  font-variant-numeric:tabular-nums;
  box-shadow:0 2px 7px rgba(0,0,0,.24);
}
.notice-badge[hidden]{display:none!important}
.system-update-row{
  cursor:pointer!important;
}
.system-update-row:hover{
  border-color:color-mix(in srgb,var(--red) 55%,var(--border))!important;
  background:color-mix(in srgb,var(--red) 7%,var(--panel2))!important;
}
.system-update-row i{
  color:var(--red)!important;
  font-size:13px!important;
}

/* Estoque: mesma altura, preços mais altos e +/- junto ao estoque atual */
.inventory-product-card{
  min-height:216px!important;
  height:216px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:visible!important;
}
.inventory-card-top{
  grid-template-columns:20px 44px minmax(0,1fr) 30px!important;
  grid-template-rows:auto!important;
  align-items:start!important;
}
.inventory-card-check{grid-column:1!important;grid-row:1!important}
.product-card-thumb{grid-column:2!important;grid-row:1!important}
.product-card-head{grid-column:3!important;grid-row:1!important}
.inventory-card-menu{grid-column:4!important;grid-row:1!important}
.inventory-card-quick{display:none!important}
.inventory-sale-info{
  display:grid!important;
  gap:5px!important;
  margin:7px 0 6px!important;
}
.inventory-price-row{
  display:flex;
  align-items:stretch;
  gap:5px;
  flex-wrap:wrap;
}
.inventory-price-row>span{
  min-width:70px;
  display:grid;
  gap:2px;
  padding:6px 8px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--panel2);
}
.inventory-sale-info>.barcode{
  width:100%;
  display:grid;
  gap:2px;
  padding:6px 8px;
  border:1px solid var(--border);
  border-radius:8px;
  background:var(--panel2);
}
.inventory-sale-info small{
  color:var(--muted);
  font-size:6.5px;
  font-weight:900;
  letter-spacing:.04em;
}
.inventory-sale-info b{
  color:var(--success);
  font-size:9px;
  white-space:nowrap;
}
.inventory-sale-info>.barcode b{
  color:var(--text);
  overflow:hidden;
  text-overflow:ellipsis;
}
.inventory-card-metrics{
  margin-top:auto!important;
}
.inventory-current-metric{
  min-width:0;
}
.inventory-current-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:26px;
}
.inventory-current-line>b{
  min-width:16px;
}
.inventory-inline-stock-actions{
  display:flex;
  gap:4px;
}
.inventory-inline-stock-actions button{
  width:23px;
  height:23px;
  border:1px solid var(--border);
  border-radius:7px;
  background:var(--panel3);
  color:var(--text);
  font-weight:900;
  cursor:pointer;
  display:grid;
  place-items:center;
  padding:0;
}
.inventory-inline-stock-actions button:last-child{
  color:var(--success);
}
.inventory-inline-stock-actions button:hover{
  border-color:var(--red);
}
.inventory-service-foot{
  margin-top:auto;
  min-height:48px;
  border:1px dashed var(--border);
  border-radius:9px;
  background:color-mix(in srgb,var(--panel2) 90%,transparent);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 10px;
}
.inventory-service-foot span{
  font-size:7px;
  font-weight:900;
  color:var(--red);
  letter-spacing:.04em;
}
.inventory-service-foot small{
  color:var(--muted);
  font-size:8px;
}

/* Financeiro inspirado na lógica comercial, com identidade Pronto Flux */
.finance-page-shell{
  max-width:1240px;
  margin:0 auto;
}
.finance-overview-strip,
.finance-flow-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin-bottom:10px;
}
.finance-overview-strip>div,
.finance-flow-kpis>div{
  min-height:78px;
  padding:11px 12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel);
  display:grid;
  align-content:center;
  gap:5px;
}
.finance-overview-strip span,
.finance-flow-kpis span{
  color:var(--muted);
  font-size:7px;
  font-weight:900;
  letter-spacing:.05em;
}
.finance-overview-strip b,
.finance-flow-kpis b{
  font-size:18px;
}
.finance-account-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
.finance-account-tile{
  min-height:150px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel);
  display:flex;
  flex-direction:column;
}
.finance-account-tile>strong{
  margin-top:auto;
  font-size:20px;
}
.finance-account-tile>small{
  color:var(--muted);
  font-size:8px;
  margin-top:3px;
}
.finance-ledger-filter,
.finance-flow-filter{
  padding:10px!important;
  margin-bottom:9px!important;
}
.finance-ledger-filter .compact-filter-grid{
  grid-template-columns:minmax(220px,1.5fr) minmax(130px,.7fr) minmax(160px,1fr) auto!important;
  gap:8px!important;
}
.finance-flow-filter-grid{
  grid-template-columns:130px 130px 180px 160px minmax(270px,1fr)!important;
  gap:8px!important;
}
.finance-flow-filter .compact-filter-buttons{
  display:flex!important;
  gap:5px!important;
  align-items:end!important;
}
.finance-flow-filter .compact-filter-buttons .btn{
  min-width:54px!important;
  padding:7px 8px!important;
}
.finance-flow-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 230px;
  gap:9px;
  align-items:start;
}
.finance-flow-side{
  position:sticky;
  top:80px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel);
  padding:10px;
}
.finance-flow-side h3{
  margin:0 0 8px;
  font-size:11px;
}
.finance-flow-side>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 0;
  border-top:1px solid var(--border);
}
.finance-flow-side span{
  color:var(--muted);
  font-size:8px;
}
.finance-flow-side b{
  font-size:9px;
}
.finance-flow-table .table th,
.finance-flow-table .table td{
  padding:8px 9px!important;
  font-size:8px!important;
}
.finance-flow-table tr.internal{
  opacity:.72;
}
.finance-entry-form{
  gap:9px!important;
}
@media(max-width:980px){
  .finance-account-grid{grid-template-columns:1fr 1fr}
  .finance-overview-strip,.finance-flow-kpis{grid-template-columns:1fr 1fr}
  .finance-flow-layout{grid-template-columns:1fr}
  .finance-flow-side{position:static}
  .finance-ledger-filter .compact-filter-grid,
  .finance-flow-filter-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:620px){
  .finance-account-grid,
  .finance-overview-strip,
  .finance-flow-kpis,
  .finance-ledger-filter .compact-filter-grid,
  .finance-flow-filter-grid{grid-template-columns:1fr!important}
}

/* Financeiro como categoria expansível; subitens mais compactos para caber todos */
.side-group[data-side-group="finance"] .side-subnav{
  max-height:330px;
  overflow:auto;
  scrollbar-width:thin;
}
.side-group[data-side-group="finance"] .nav-btn.sub{
  min-height:27px!important;
  font-size:9px!important;
}


.system-update-shell{
  cursor:pointer;
  border-radius:10px;
}
.system-update-shell:focus-within,
.system-update-shell:hover{
  outline:1px solid color-mix(in srgb,var(--red) 38%,transparent);
}


/* Avisos e Alertas: mesma tipografia no cabeçalho */
#topNotices > b,
#topAlerts > b{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important;
  font-size:10px!important;
  font-weight:900!important;
  font-style:normal!important;
  letter-spacing:0!important;
  line-height:1!important;
  text-transform:none!important;
}


/* ===== Avisos/Alertas — refinamento visual do topo ===== */
#topNotices,
#topAlerts{
  min-width:92px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0 12px!important;
  border:1px solid color-mix(in srgb,var(--border) 88%,#fff 12%)!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--panel2) 94%,#fff 6%) 0%,
    color-mix(in srgb,var(--panel2) 97%,#000 3%) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 4px 12px rgba(0,0,0,.10)!important;
  gap:7px!important;
  overflow:visible!important;
}
#topNotices:hover,
#topAlerts:hover{
  border-color:color-mix(in srgb,var(--red) 58%,var(--border))!important;
  background:linear-gradient(180deg,
    color-mix(in srgb,var(--red) 8%,var(--panel2)) 0%,
    color-mix(in srgb,var(--red) 4%,var(--panel2)) 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.045),
    0 5px 14px rgba(0,0,0,.13)!important;
}
#topNotices svg,
#topAlerts svg{
  width:15px!important;
  height:15px!important;
  flex:0 0 15px!important;
}
#topNotices > b,
#topAlerts > b{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important;
  font-size:10px!important;
  font-weight:900!important;
  font-style:normal!important;
  letter-spacing:.01em!important;
  line-height:1!important;
  text-transform:none!important;
}
#topNotices{
  position:relative!important;
}
#topNotices .notice-badge{
  position:absolute!important;
  top:-5px!important;
  right:-5px!important;
  min-width:15px!important;
  height:15px!important;
  padding:0 3px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#ff2028!important;
  color:#fff!important;
  border:2px solid var(--panel)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important;
  font-size:8px!important;
  font-weight:900!important;
  line-height:1!important;
  text-align:center!important;
  font-variant-numeric:tabular-nums!important;
  box-shadow:0 3px 8px rgba(0,0,0,.32)!important;
  z-index:3!important;
}
#topNotices .notice-badge[hidden]{
  display:none!important;
}

/* ===== Configurações · sons do sistema ===== */
.settings-sound-card{display:grid;gap:10px}
.settings-sound-card .card-title{margin-bottom:0}
.settings-volume-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;font-size:12px}
.settings-volume-head span{color:var(--text);font-weight:800}
.settings-volume-head b{min-width:42px;text-align:right;color:var(--red);font-size:13px}
.settings-volume-range{width:100%;accent-color:var(--red);cursor:pointer}
.settings-volume-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:-5px}
.settings-sound-card #testSystemSound{justify-self:start;margin-top:3px}

/* ===== Ações em massa · layout organizado ===== */
.bulk-action-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  max-height:66vh;
  overflow:auto;
  padding:2px 4px 2px 0;
}
.bulk-action-column{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:0;
}
.bulk-action-column section{
  border:1px solid var(--border);
  background:var(--panel2);
  border-radius:13px;
  overflow:hidden;
}
.bulk-action-column section h3{
  margin:0;
  padding:10px 11px;
  border-bottom:1px solid var(--border);
  font-size:11px;
}
.product-bulk-action-groups .bulk-action-row{
  min-height:46px;
}
.product-bulk-action-groups .bulk-action-row.danger b{
  color:var(--danger);
}
@media(max-width:900px){
  .bulk-action-columns{grid-template-columns:1fr}
}


/* ===== Estoque · ações do cabeçalho refinadas ===== */
.inventory-head-actions{
  margin-top:26px!important;
  gap:9px!important;
  align-items:center!important;
}
.inventory-head-actions .btn{
  min-height:42px!important;
  height:42px!important;
  padding:0 15px!important;
  border-radius:11px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:900!important;
  font-style:normal!important;
  letter-spacing:.01em!important;
  line-height:1!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  box-shadow:0 5px 13px rgba(0,0,0,.12)!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease!important;
}
.inventory-head-actions .btn.secondary{
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel3) 94%,#fff 6%),var(--panel3))!important;
  border:1px solid color-mix(in srgb,var(--border) 88%,#fff 12%)!important;
  color:var(--text)!important;
}
.inventory-head-actions .btn.secondary:hover{
  border-color:color-mix(in srgb,var(--red) 45%,var(--border))!important;
  background:color-mix(in srgb,var(--red) 6%,var(--panel3))!important;
  transform:translateY(-1px)!important;
}
.inventory-head-actions .btn.primary{
  border:1px solid color-mix(in srgb,var(--red) 82%,#fff 18%)!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--red) 93%,#fff 7%),var(--red))!important;
  color:#fff!important;
}
.inventory-head-actions .btn.primary:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 7px 16px color-mix(in srgb,var(--red) 22%,transparent)!important;
}
.bulk-delete-feature{
  margin-bottom:12px;
  border:1px solid color-mix(in srgb,var(--danger) 38%,var(--border));
  border-radius:13px;
  overflow:hidden;
  background:color-mix(in srgb,var(--danger) 5%,var(--panel2));
}
.bulk-delete-feature .bulk-action-row{
  min-height:56px;
  border-bottom:0;
  grid-template-columns:32px minmax(0,1fr) 18px;
  padding:11px 12px;
}
.bulk-delete-feature .bulk-action-dot{
  width:30px;
  height:30px;
  border-radius:9px;
}
.bulk-delete-feature .bulk-action-row b{
  color:var(--danger);
  font-size:11px;
}
.bulk-delete-feature .bulk-action-row small{
  font-size:8.5px;
  line-height:1.4;
}
@media(max-width:700px){
  .inventory-head-actions{
    margin-top:12px!important;
    width:100%;
    justify-content:flex-start!important;
  }
  .inventory-head-actions .btn{
    min-height:40px!important;
    height:40px!important;
    padding:0 12px!important;
    font-size:10px!important;
  }
}


/* ===== Estoque · barra de ações premium v2 ===== */
.inventory-head{
  align-items:flex-start!important;
}
.inventory-head-actions{
  align-self:flex-end!important;
  margin-top:42px!important;
  margin-bottom:2px!important;
  padding:6px!important;
  gap:6px!important;
  flex-wrap:nowrap!important;
  border:1px solid color-mix(in srgb,var(--border) 88%,#fff 12%)!important;
  border-radius:15px!important;
  background:linear-gradient(
    180deg,
    color-mix(in srgb,var(--panel) 96%,#fff 4%) 0%,
    color-mix(in srgb,var(--panel) 98%,#000 2%) 100%
  )!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.035),
    0 8px 24px rgba(0,0,0,.16)!important;
}
.inventory-head-actions .btn{
  min-height:38px!important;
  height:38px!important;
  padding:0 14px!important;
  margin:0!important;
  border-radius:10px!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif!important;
  font-size:10px!important;
  font-weight:850!important;
  font-style:normal!important;
  letter-spacing:.015em!important;
  line-height:1!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  box-shadow:none!important;
  transition:transform .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease!important;
}
.inventory-head-actions .btn.secondary{
  color:var(--text)!important;
  background:color-mix(in srgb,var(--panel3) 82%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--border) 92%,#fff 8%)!important;
}
.inventory-head-actions .btn.secondary:hover{
  transform:translateY(-1px)!important;
  background:color-mix(in srgb,var(--red) 7%,var(--panel3))!important;
  border-color:color-mix(in srgb,var(--red) 48%,var(--border))!important;
  box-shadow:0 4px 10px rgba(0,0,0,.12)!important;
}
.inventory-head-actions .btn.primary{
  color:#fff!important;
  background:linear-gradient(
    180deg,
    color-mix(in srgb,var(--red) 92%,#fff 8%) 0%,
    color-mix(in srgb,var(--red) 96%,#000 4%) 100%
  )!important;
  border:1px solid color-mix(in srgb,var(--red) 78%,#fff 22%)!important;
  box-shadow:0 5px 12px color-mix(in srgb,var(--red) 18%,transparent)!important;
}
.inventory-head-actions .btn.primary:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 7px 16px color-mix(in srgb,var(--red) 26%,transparent)!important;
}
@media(max-width:980px){
  .inventory-head-actions{
    align-self:flex-start!important;
    margin-top:16px!important;
    flex-wrap:wrap!important;
  }
}
@media(max-width:700px){
  .inventory-head-actions{
    width:100%!important;
    padding:5px!important;
    gap:5px!important;
    border-radius:13px!important;
  }
  .inventory-head-actions .btn{
    min-height:38px!important;
    height:38px!important;
    padding:0 11px!important;
    font-size:9.5px!important;
  }
}


/* ===== Compras · fluxo em seções estilo comercial/PDV ===== */
.purchase-flow-modal{
  width:min(1180px,calc(100vw - 28px))!important;
  max-height:94vh!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
.purchase-flow-modal .modal-head{
  min-height:54px;
  padding:13px 18px!important;
}
.purchase-flow-modal .modal-head h2{
  font-size:17px!important;
}
.purchase-flow-modal .modal-body{
  padding:14px 16px 18px!important;
  max-height:calc(94vh - 126px);
  overflow:auto;
  background:color-mix(in srgb,var(--bg) 36%,var(--panel));
}
.purchase-flow-modal .modal-foot{
  padding:11px 16px!important;
  background:var(--panel);
}
.purchase-flow-shell{
  display:grid;
  gap:10px;
}
.purchase-draft-status{
  min-height:30px;
  margin:0!important;
  padding:0 2px;
}
.purchase-draft-status small{
  font-size:9px!important;
}
.purchase-stage-tabs{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  padding:5px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel);
}
.purchase-stage-tabs button{
  min-height:48px;
  border:1px solid transparent;
  border-radius:9px;
  padding:7px 10px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  gap:8px;
  align-items:center;
  text-align:left;
  background:var(--panel2);
  color:var(--muted);
  cursor:pointer;
  transition:.15s ease;
}
.purchase-stage-tabs button:hover{
  border-color:color-mix(in srgb,var(--red) 34%,var(--border));
  color:var(--text);
}
.purchase-stage-tabs button.active{
  background:linear-gradient(180deg,color-mix(in srgb,var(--red) 92%,#fff 8%),var(--red));
  border-color:var(--red);
  color:#fff;
  box-shadow:0 5px 14px color-mix(in srgb,var(--red) 18%,transparent);
}
.purchase-stage-tabs button.done{
  color:var(--text);
  border-color:color-mix(in srgb,var(--success) 32%,var(--border));
}
.purchase-stage-number{
  width:27px;height:27px;border-radius:8px;
  display:grid;place-items:center;
  background:var(--panel3);
  border:1px solid var(--border);
  color:var(--text);
  font-size:10px;font-weight:950;
}
.purchase-stage-tabs button.active .purchase-stage-number{
  background:#fff;color:var(--red);border-color:#fff;
}
.purchase-stage-tabs button.done .purchase-stage-number{
  background:color-mix(in srgb,var(--success) 14%,var(--panel3));
  border-color:color-mix(in srgb,var(--success) 42%,var(--border));
  color:var(--success);
}
.purchase-stage-tabs button>span:last-child{display:grid;gap:2px;min-width:0}
.purchase-stage-tabs b{font-size:9.5px;line-height:1.15}
.purchase-stage-tabs small{font-size:7.5px;line-height:1.2;color:inherit;opacity:.78}

.purchase-flow-section{
  border:1px solid var(--border);
  border-radius:13px;
  overflow:hidden;
  background:var(--panel);
  box-shadow:0 7px 20px rgba(0,0,0,.10);
}
.purchase-section-head{
  min-height:58px;
  padding:10px 13px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr);
  gap:10px;
  align-items:center;
  border-bottom:1px solid var(--border);
  background:linear-gradient(90deg,color-mix(in srgb,var(--red) 14%,var(--panel2)),var(--panel2) 38%);
}
.purchase-section-number{
  width:34px;height:34px;border-radius:10px;
  display:grid;place-items:center;
  background:var(--red);color:#fff;
  font-size:13px;font-weight:950;
  box-shadow:0 5px 12px color-mix(in srgb,var(--red) 18%,transparent);
}
.purchase-section-head>div:last-child{display:grid;gap:1px}
.purchase-section-head span{
  color:var(--red);font-size:7.5px;font-weight:950;letter-spacing:.08em;
}
.purchase-section-head h3{
  margin:0;font-size:13px;line-height:1.2;
}
.purchase-section-head p{
  margin:1px 0 0;color:var(--muted);font-size:8.5px;line-height:1.35;
}
.purchase-section-body{
  padding:14px;
}
.purchase-data-grid{
  grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr);
  gap:10px;
}
.purchase-data-grid .field.full{grid-column:1/-1}
.purchase-data-grid .textarea{
  min-height:72px;
}
.purchase-supplier-row{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.purchase-supplier-row .btn{
  min-height:40px;
  white-space:nowrap;
}
.purchase-auto-save-note{
  margin-top:10px;
  display:grid;
  grid-template-columns:27px minmax(0,1fr);
  gap:9px;
  align-items:center;
  padding:9px 10px;
  border:1px solid color-mix(in srgb,var(--success) 28%,var(--border));
  background:color-mix(in srgb,var(--success) 6%,var(--panel2));
  border-radius:10px;
}
.purchase-auto-save-note>span{
  width:26px;height:26px;border-radius:8px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--success) 16%,var(--panel3));
  color:var(--success);font-weight:950;font-size:11px;
}
.purchase-auto-save-note>div{display:grid;gap:2px}
.purchase-auto-save-note b{font-size:9px}
.purchase-auto-save-note small{font-size:8px;color:var(--muted);line-height:1.35}
.purchase-auto-save-note.neutral{
  border-color:var(--border);
  background:var(--panel2);
}
.purchase-auto-save-note.neutral>span{
  background:var(--panel3);color:var(--muted);
}
.purchase-subsection-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-bottom:8px;
}
.purchase-subsection-head>div{display:grid;gap:2px}
.purchase-subsection-head b{font-size:10px}
.purchase-subsection-head small{font-size:8px;color:var(--muted)}
.purchase-search-flow{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px!important;
  margin:0 0 8px!important;
}
.purchase-search-flow .input{min-height:39px}
.purchase-search-flow .btn{min-height:39px;white-space:nowrap}
.purchase-search-results{
  display:grid;gap:5px;margin-bottom:7px;
}
.purchase-items-list{
  display:grid;gap:6px;margin-top:7px;
}
.purchase-item-card{
  margin:0!important;
  padding:9px 10px!important;
  border-radius:10px!important;
}
.purchase-item-card h4{
  margin:0 0 6px!important;
  font-size:10px!important;
}
.purchase-item-controls{
  grid-template-columns:100px 150px minmax(150px,1fr)!important;
  gap:7px!important;
}
.purchase-item-side{
  min-width:96px!important;
}
.purchase-item-side>b{
  color:var(--success);
  font-size:14px!important;
}
.purchase-values-panel{
  margin-top:12px;
  padding:11px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--panel2);
}
.purchase-values-title{
  display:flex;justify-content:space-between;align-items:center;gap:10px;
  margin-bottom:8px;
}
.purchase-values-title b{font-size:10px}
.purchase-values-title span{font-size:8px;color:var(--muted)}
.purchase-totals-grid{
  margin-top:0!important;
  gap:7px!important;
}
.purchase-total-box{
  min-height:58px;
  padding:9px 10px!important;
  border-radius:9px!important;
  background:color-mix(in srgb,var(--success) 6%,var(--panel))!important;
  border-color:color-mix(in srgb,var(--success) 30%,var(--border))!important;
}
.purchase-total-box span{font-size:8px!important}
.purchase-total-box b{
  margin-top:3px!important;
  font-size:18px!important;
  color:var(--success)!important;
}
.purchase-payment-entry,
.purchase-payment-list{
  padding:11px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--panel2);
}
.purchase-payment-list{margin-top:9px}
.purchase-payment-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.purchase-payment-entry #puAddPay{
  margin-top:8px;
  min-height:35px;
}
.purchase-payment-list .list-card{
  min-height:48px;
  padding:8px 10px;
  margin-bottom:5px;
  border-radius:9px;
}
.purchase-payment-list .list-card h4{font-size:9.5px}
.purchase-stock-choice{
  margin-top:10px!important;
  padding:10px!important;
  border-radius:10px!important;
}
.purchase-stock-choice b{font-size:10px!important}
.purchase-stock-choice small{font-size:8px!important}
.purchase-step-actions{
  margin-top:11px!important;
  gap:7px;
}
.purchase-step-actions .btn{
  min-height:38px;
  border-radius:9px;
  font-size:9px;
  font-weight:900;
}
.purchase-step-between{
  justify-content:space-between!important;
}
.purchase-flow-modal .modal-foot .btn.primary{
  min-height:40px;
  padding:0 16px;
  border-radius:9px;
}
@media(max-width:900px){
  .purchase-stage-tabs{grid-template-columns:1fr}
  .purchase-data-grid,
  .purchase-payment-grid{grid-template-columns:1fr 1fr}
  .purchase-item-controls{grid-template-columns:1fr 1fr!important}
}
@media(max-width:650px){
  .purchase-flow-modal{width:100%!important;max-height:96vh!important}
  .purchase-flow-modal .modal-body{padding:10px!important}
  .purchase-data-grid,
  .purchase-payment-grid,
  .purchase-search-flow{grid-template-columns:1fr}
  .purchase-supplier-row{grid-template-columns:1fr!important}
  .purchase-item-card{display:grid!important}
  .purchase-item-controls{grid-template-columns:1fr!important}
  .purchase-step-between{display:grid!important;grid-template-columns:1fr}
}


/* ===== Importação · revisão, mapeamento e progresso ===== */
.import-panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;text-align:left;margin-bottom:14px}
.import-panel-title h2{margin:0 0 4px!important}
.import-panel-title p{margin:0!important;color:var(--muted);font-size:11px;line-height:1.45}
.import-file-summary{display:grid;grid-template-columns:auto auto;gap:2px 7px;align-items:baseline;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);white-space:nowrap}
.import-file-summary b{font-size:12px;color:var(--text);text-align:right}
.import-file-summary span{font-size:8px;color:var(--muted)}
.import-preview-help{display:flex;align-items:center;gap:9px;text-align:left;padding:8px 10px;margin-bottom:8px;border:1px solid var(--border);border-radius:10px;background:var(--panel2)}
.import-preview-help>span{font-size:18px;color:var(--red);font-weight:900}
.import-preview-help>div{display:grid;gap:2px}
.import-preview-help b{font-size:9.5px}
.import-preview-help small{font-size:8px;color:var(--muted)}
.import-preview-shell{max-height:430px;overflow:auto;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}
.import-preview-table{min-width:max-content;margin:0!important}
.import-preview-table th,.import-preview-table td{min-width:118px;max-width:190px;padding:10px 11px!important;font-size:9.5px;line-height:1.35;white-space:normal;word-break:break-word;vertical-align:middle}
.import-preview-table thead th{position:sticky;top:0;z-index:3;background:var(--panel3);color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.04em}
.import-preview-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--panel3) 45%,transparent)}
.import-preview-table tbody tr:hover{background:color-mix(in srgb,var(--red) 7%,var(--panel2))}
.import-preview-table tbody tr.recommended{box-shadow:inset 3px 0 0 var(--red)}
.import-preview-table .import-line-picker{position:sticky;left:0;z-index:2;min-width:118px;max-width:118px;background:var(--panel)}
.import-preview-table thead .import-line-picker{z-index:5;background:var(--panel3)}
.import-preview-table .import-line-picker .btn{width:100%;min-height:32px;padding:5px 7px;font-size:8px}
.import-preview-table .import-line-picker small{display:block;margin-top:4px;color:var(--success);font-size:7px;text-align:center}

.import-mapping-panel{text-align:left!important}
.import-mapping-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px}
.import-mapping-summary>div{display:flex;align-items:baseline;gap:7px;padding:8px 10px;border:1px solid var(--border);border-radius:9px;background:var(--panel2)}
.import-mapping-summary b{font-size:14px}
.import-mapping-summary span{font-size:8px;color:var(--muted)}
.import-mapping-summary .ok b{color:var(--success)}
.import-mapping-summary .warn b{color:var(--warning)}
.import-mapping-summary .bad b{color:var(--danger)}
.import-mapping-grid{gap:8px!important;margin-bottom:10px!important}
.import-map-card{padding:9px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);display:grid;gap:7px;transition:.15s}
.import-map-card.mapped{border-color:color-mix(in srgb,var(--success) 24%,var(--border))}
.import-map-card.warning{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:color-mix(in srgb,var(--warning) 5%,var(--panel2))}
.import-map-card.required:not(.mapped){border-color:color-mix(in srgb,var(--danger) 48%,var(--border))}
.import-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.import-map-head>div{display:grid;gap:2px}
.import-map-head span{font-size:6.5px;font-weight:900;color:var(--muted);letter-spacing:.06em}
.import-map-card.required .import-map-head span{color:var(--red)}
.import-map-head b{font-size:9.5px}
.import-map-head em{font-style:normal;font-size:7px;font-weight:850;padding:3px 6px;border-radius:999px;background:var(--panel3);color:var(--muted);white-space:nowrap}
.import-map-head em.auto,.import-map-head em.manual{color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--panel3))}
.import-map-head em.review{color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,var(--panel3))}
.import-map-card .select{min-height:36px;height:36px;padding:6px 8px;font-size:9px}
.import-map-samples{display:flex;gap:4px;flex-wrap:wrap;min-height:20px}
.import-map-samples span{max-width:100%;padding:3px 6px;border:1px solid var(--border);border-radius:6px;background:var(--panel);font-size:7.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.import-map-samples small{font-size:7.5px;color:var(--muted)}
.import-map-warning{min-height:0;color:var(--warning);font-size:7.5px;font-weight:800}
.import-map-warning:empty{display:none}
.import-review-footer{position:sticky;bottom:-1px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px -10px -10px;padding:10px 12px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(8px)}
.import-review-footer>div{display:grid;gap:2px}
.import-review-footer b{font-size:10px}
.import-review-footer span{font-size:8px;color:var(--muted)}
.import-review-footer .btn{min-height:38px;font-size:9px}
.import-review-footer .btn:disabled{opacity:.45;cursor:not-allowed}

.import-progress-screen{min-height:410px;display:grid;justify-items:center;align-content:center;gap:9px}
.import-progress-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 12%,var(--panel2));color:var(--red);font-size:25px;font-weight:950;border:1px solid color-mix(in srgb,var(--red) 28%,var(--border))}
.import-progress-screen h2{margin:3px 0 0!important}
.import-progress-screen>p{margin:0 0 8px!important;font-size:10px!important}
.import-progress-percent{font-size:31px;font-weight:950;line-height:1;color:var(--text)}
.import-progress-track{width:min(650px,92%);height:12px;border-radius:999px;overflow:hidden;background:var(--panel3);border:1px solid var(--border)}
.import-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red),color-mix(in srgb,var(--red) 70%,#ffb000));transition:width .18s ease}
.import-progress-stats{width:min(650px,92%);display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:5px}
.import-progress-stats>div{padding:8px;border:1px solid var(--border);border-radius:9px;background:var(--panel2);display:grid;gap:2px;text-align:center}
.import-progress-stats b{font-size:12px}
.import-progress-stats span{font-size:7px;color:var(--muted)}
.import-progress-current{margin-top:3px;font-size:8px;color:var(--muted)}

.import-result-panel{display:grid;justify-items:center;gap:8px}
.import-result-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:22px;font-weight:950;margin-bottom:2px}
.import-result-icon.ok{background:color-mix(in srgb,var(--success) 14%,var(--panel2));color:var(--success);border:1px solid color-mix(in srgb,var(--success) 35%,var(--border))}
.import-result-icon.warn{background:color-mix(in srgb,var(--warning) 14%,var(--panel2));color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 35%,var(--border))}
.import-result-panel>p{margin:0!important;font-size:10px!important}
.import-result-stats{width:min(620px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:8px 0}
.import-result-stats>div{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);display:grid;gap:3px;text-align:center}
.import-result-stats span{font-size:8px;color:var(--muted)}
.import-result-stats b{font-size:18px}
.import-error-block{width:100%;text-align:left;margin:4px 0 7px}
.import-error-head{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:6px}
.import-error-head b{font-size:10px}.import-error-head span{font-size:8px;color:var(--muted)}
.import-type:disabled{opacity:.55;cursor:not-allowed}

@media(max-width:760px){
  .import-panel-title{display:grid}
  .import-file-summary{justify-self:start}
  .import-mapping-summary,.import-progress-stats,.import-result-stats{grid-template-columns:1fr 1fr}
  .import-review-footer{align-items:stretch;flex-direction:column}
  .import-review-footer .btn{width:100%}
}


/* ===== Importação · arrastar e soltar ===== */
.import-drop{
  position:relative;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
.import-drop.drag-over{
  border-color:var(--red)!important;
  background:color-mix(in srgb,var(--red) 9%,var(--panel2))!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 12%,transparent),0 12px 30px rgba(0,0,0,.13)!important;
  transform:translateY(-1px);
}
.import-drop.drag-over .import-drop-icon{
  transform:translateY(-4px) scale(1.07);
}
.import-drop.reading{
  border-color:color-mix(in srgb,var(--success) 52%,var(--border))!important;
  background:color-mix(in srgb,var(--success) 7%,var(--panel2))!important;
  cursor:wait;
}
.import-drop.invalid{
  border-color:color-mix(in srgb,var(--danger) 70%,var(--border))!important;
  background:color-mix(in srgb,var(--danger) 7%,var(--panel2))!important;
}
.import-drop-icon{
  transition:transform .16s ease;
}


/* ===== Importação · percent menor e cancelamento ===== */
.import-progress-percent{font-size:24px!important}
.import-cancel-btn{margin-top:10px;min-height:36px;padding:0 14px;border-radius:9px;font-size:8.5px;font-weight:900}
.import-progress-icon.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger) 10%,var(--panel2))}
.import-error-table td{vertical-align:middle}
.import-error-table td:nth-child(3){color:var(--muted);font-size:9px}
.import-result-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:8px}


/* ===== Coleções · 4 por linha, 12 por página ===== */
.paged-four-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.collection-pager{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  margin:16px 0 4px;
  flex-wrap:wrap;
}
.collection-pager button{
  min-width:34px;height:34px;padding:0 9px;border-radius:9px;
  border:1px solid var(--border);background:var(--panel2);color:var(--text);
  font-size:10px;font-weight:900;cursor:pointer;
}
.collection-pager button:hover:not(:disabled){border-color:var(--red);background:color-mix(in srgb,var(--red) 7%,var(--panel2))}
.collection-pager button.active{background:var(--red);border-color:var(--red);color:#fff}
.collection-pager button:disabled{opacity:.35;cursor:not-allowed}
.collection-pager .pager-ellipsis{color:var(--muted);padding:0 2px}
.collection-pager>span:last-child{margin-left:5px;color:var(--muted);font-size:8px}
@media(max-width:1300px){.paged-four-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:980px){.paged-four-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.paged-four-grid{grid-template-columns:1fr!important}}


/* ===== Rodada 2026-09-30 · compactação, grade 4x3 e inventário ===== */
#topNotices,#topNotifications{min-height:40px!important;padding:0 14px!important;font-size:10px!important;font-weight:900!important;letter-spacing:.01em!important;gap:8px!important}
#topNotices svg,#topNotifications svg{width:18px!important;height:18px!important}

.paged-four-grid.collection-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;justify-content:stretch!important;align-items:stretch!important;width:100%!important}
.paged-four-grid.collection-grid>article,.paged-four-grid.collection-grid>.product-card,.paged-four-grid.collection-grid>.standard-card{width:100%!important;min-width:0!important;max-width:none!important}
@media(max-width:1199px){.paged-four-grid.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:900px){.paged-four-grid.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.paged-four-grid.collection-grid{grid-template-columns:1fr!important}}

.inventory-batch-thumb.item-placeholder{color:var(--red)!important;background:color-mix(in srgb,var(--red) 10%,var(--panel2))!important;border-color:color-mix(in srgb,var(--red) 35%,var(--border))!important}
.inventory-batch-thumb.item-placeholder svg{width:22px!important;height:22px!important}

.stock-inventory-modal .modal{width:min(1040px,calc(100vw - 36px))!important;max-height:90vh!important}
.stock-inventory-modal .modal-head{padding:13px 18px!important}.stock-inventory-modal .modal-head h2{font-size:20px!important}
.stock-inventory-modal .modal-body{padding:12px 18px 10px!important;min-height:0!important}
.stock-inventory-modal .stock-batch-note{margin-bottom:9px!important;padding:8px 11px!important;font-size:10px!important}
.stock-inventory-modal .inventory-batch-table{margin-bottom:0!important;border-radius:11px!important}.stock-inventory-modal .inventory-batch-search{padding:8px!important}
.stock-inventory-modal .inventory-batch-search .input{min-height:38px!important;padding:8px 11px!important}
.stock-inventory-modal #inventoryRows{max-height:min(56vh,520px)!important;overflow:auto!important;scrollbar-width:thin}
.stock-inventory-modal .inventory-batch-row{grid-template-columns:minmax(0,1fr) 112px!important;gap:10px!important;padding:7px 10px!important}
.stock-inventory-modal .inventory-batch-thumb{width:38px!important;height:38px!important;flex-basis:38px!important}
.stock-inventory-modal .inventory-batch-item b{font-size:11px!important}.stock-inventory-modal .inventory-batch-item span{font-size:9px!important}
.stock-inventory-modal .inventory-batch-row .field label{font-size:8px!important;margin-bottom:4px!important}
.stock-inventory-modal .inventory-batch-row .input{min-height:36px!important;padding:7px 9px!important;font-size:13px!important}.stock-inventory-modal .modal-foot{padding:10px 18px!important}

.product-form-modal .modal{width:min(1020px,calc(100vw - 40px))!important;max-height:92vh!important}
.product-form-modal .modal-head{padding:13px 18px!important}.product-form-modal .modal-head h2{font-size:20px!important}.product-form-modal .modal-body{padding:14px 18px!important}
.product-form-modal .product-form-tabs{margin:-2px 0 13px!important;gap:7px!important}.product-form-modal .product-form-tabs button{padding:9px 12px!important;font-size:11px!important}
.product-form-modal .product-edit-grid{grid-template-columns:195px minmax(0,1fr)!important;gap:16px!important}.product-form-modal .product-image-preview{height:195px!important}
.product-form-modal .form-grid{gap:11px!important}.product-form-modal .field label{margin-bottom:5px!important;font-size:10px!important}
.product-form-modal .input,.product-form-modal .select{min-height:38px!important;padding:9px 11px!important}.product-form-modal .textarea{min-height:76px!important;padding:9px 11px!important}.product-form-modal .modal-foot{padding:10px 18px!important}
@media(max-width:760px){.product-form-modal .product-edit-grid{grid-template-columns:1fr!important}.product-form-modal .product-image-editor{max-width:240px}}


/* ===== O.S. movimentação de estoque ===== */
.os-section-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.os-stock-action{display:inline-flex;align-items:center;gap:7px}
.os-stock-action span{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:9px;font-weight:900}
.os-stock-modal .modal{width:min(900px,calc(100vw - 30px))!important;max-height:92vh!important}
.os-stock-modal .modal-body{padding:14px 18px!important}
.os-stock-help{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid color-mix(in srgb,var(--info,#2787d9) 35%,var(--border));background:color-mix(in srgb,var(--info,#2787d9) 8%,var(--panel));border-radius:9px;font-size:11px;line-height:1.45}
.os-stock-help b{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--info,#2787d9) 85%,#fff);color:#fff;flex:0 0 18px}
.os-stock-page-note{margin:10px 0 8px}
.os-stock-section{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-top:10px;background:var(--panel)}
.os-stock-section-head{min-height:34px;padding:7px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto 58px;align-items:center;gap:8px;background:color-mix(in srgb,var(--red) 12%,var(--panel2));border-bottom:1px solid var(--border)}
.os-stock-section-head>b{font-size:10px;letter-spacing:.02em}
.os-stock-section-head>span{text-align:right;font-size:9px;font-weight:900}
.link-button{border:0;background:none;color:var(--text);text-decoration:underline;cursor:pointer;font-size:9px;font-weight:800}
.os-stock-list{display:grid}
.os-stock-row{display:grid;grid-template-columns:28px 38px minmax(0,1fr) 58px;align-items:center;gap:9px;padding:8px 10px;border-bottom:1px solid var(--border);font-size:11px}
.os-stock-row:last-child{border-bottom:0}
.os-stock-row.selectable{cursor:pointer}
.os-stock-row.selectable:hover{background:color-mix(in srgb,var(--red) 5%,transparent)}
.os-stock-check{display:grid;place-items:center}.os-stock-check input{width:16px;height:16px;accent-color:var(--red)}
.os-stock-thumb{width:34px;height:34px;border:1px solid var(--border);border-radius:8px;display:grid;place-items:center;overflow:hidden;background:var(--panel2)}
.os-stock-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
.os-stock-thumb.item-placeholder svg{width:21px;height:21px}
.os-stock-name{display:grid;gap:2px;min-width:0}.os-stock-name b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.os-stock-name small{color:var(--muted);font-size:9px}
.os-stock-row>strong{text-align:right;font-size:10px}
.os-stock-status{display:grid;place-items:center;font-weight:900}.os-stock-status.ok{color:var(--success)}
.os-stock-empty{padding:13px;text-align:center;color:var(--muted);font-size:10px;background:var(--panel2)}
.os-stock-finalize-warning{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 12px;margin:10px 0;border:1px solid color-mix(in srgb,#d89200 38%,var(--border));background:color-mix(in srgb,#d89200 9%,var(--panel));border-radius:10px}
.os-stock-finalize-warning>div{display:grid;gap:3px}.os-stock-finalize-warning b{font-size:11px;color:#c78300}.os-stock-finalize-warning span{font-size:10px;color:var(--muted)}
.os-finalize-box .btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.15)}
@media(max-width:680px){
  .os-stock-section-head{grid-template-columns:minmax(0,1fr) auto}.os-stock-section-head>span{display:none}
  .os-stock-row{grid-template-columns:28px 36px minmax(0,1fr) 52px}
  .os-stock-finalize-warning{align-items:stretch;flex-direction:column}
  .os-stock-finalize-warning .btn{width:100%}
}


/* ===== Rodada 2026-09-30 · notificações por ciclo e prazo de orçamento ===== */
.header-notice-ico.product-notification-icon{
  color:var(--red)!important;
}
.header-notice-ico.product-notification-icon svg{
  width:18px!important;
  height:18px!important;
}
.os-status-select option{font-weight:700}
.os-general-card .field small{line-height:1.35}


/* ===== Rodada 2026-09-30 · vales, ícones e importação de caixas ===== */
.side-nav .side-ico svg{width:17px!important;height:17px!important;display:block}
.side-nav .side-ico-items{color:var(--red)!important}
.side-nav .side-ico-people{color:#8b6cf0!important}
.side-nav .side-ico-home svg{width:16px!important;height:16px!important;stroke-width:2!important}
.sidebar.closed .side-ico{display:grid!important;place-items:center!important}
#topNotifications{padding-left:10px!important;padding-right:10px!important;font-size:9px!important;gap:6px!important}
#topNotifications svg{width:16px!important;height:16px!important}

.voucher-page{padding-bottom:70px}
.voucher-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.voucher-tabs button{min-height:44px;border:1px solid var(--border);border-radius:11px;background:var(--panel2);color:var(--muted);font-weight:900;font-size:11px;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}
.voucher-tabs button svg{width:17px;height:17px}.voucher-tabs button.active{background:var(--red);border-color:var(--red);color:#fff}
.voucher-filter-card{border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:14px;margin-bottom:12px}
.voucher-filter-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.voucher-filter-top h3{margin:0;font-size:15px}.voucher-filter-top span{font-size:9px;color:var(--muted)}.voucher-filter-top span b{color:var(--text)}
.voucher-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.voucher-filter-grid .field:nth-child(1),.voucher-filter-grid .field:nth-child(2){grid-column:span 3}.voucher-filter-grid .field:nth-child(n+3){grid-column:span 2}
.voucher-filter-bottom{display:grid;grid-template-columns:1fr 1fr auto;gap:18px;align-items:end;margin-top:12px}.voucher-filter-bottom>div>b{display:block;font-size:10px;margin-bottom:7px}
.voucher-checks,.voucher-quick{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.voucher-checks label{font-size:10px;display:flex;gap:5px;align-items:center}.voucher-checks input{accent-color:var(--red)}
.voucher-quick button{border:0;border-radius:999px;padding:6px 10px;background:var(--panel2);color:var(--text);font-size:9px;font-weight:900;cursor:pointer}.voucher-quick button:hover{background:var(--red);color:#fff}
.voucher-filter-actions{display:flex!important;gap:7px!important;align-items:end!important}.voucher-list-toolbar{display:flex;justify-content:space-between;align-items:center;margin:8px 0;font-size:10px}
.voucher-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.voucher-card{position:relative;border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:14px;min-width:0;box-shadow:0 4px 14px rgba(0,0,0,.08)}
.voucher-card-head{display:grid;grid-template-columns:44px minmax(0,1fr) 34px;gap:10px;align-items:center}.voucher-card-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 12%,var(--panel2));color:var(--red)}
.voucher-card-icon svg{width:24px;height:24px}.voucher-card-head>div:nth-child(2){display:flex;align-items:center;gap:7px;min-width:0}.voucher-card-head strong{font-size:18px}
.voucher-card-lines{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;margin-top:13px}.voucher-card-lines span{font-size:10px;color:var(--muted);display:flex;gap:7px;align-items:center;min-width:0}.voucher-card-lines span b{color:var(--red);width:13px;text-align:center}
.voucher-menu-wrap{position:relative}.voucher-card-menu{top:calc(100% + 6px)!important;right:0!important;bottom:auto!important;z-index:60}.voucher-card-menu.open{display:grid!important}.voucher-empty{grid-column:1/-1;padding:32px}
.voucher-bottom-bar{position:sticky;bottom:0;z-index:40;margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel) 94%,transparent);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;box-shadow:0 -6px 24px rgba(0,0,0,.12)}.voucher-bottom-bar span{font-size:10px;color:var(--muted)}
.voucher-sale-form{display:grid;gap:12px}.voucher-sale-heading{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.voucher-sale-heading>span{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:var(--red);color:#fff}.voucher-sale-heading svg{width:22px;height:22px}.voucher-sale-heading h2{margin:0 0 4px;font-size:18px}.voucher-sale-heading p{margin:0;color:var(--muted);font-size:10px}
.voucher-created{text-align:center;padding:16px}.voucher-created>span{width:54px;height:54px;border-radius:15px;margin:auto;display:grid;place-items:center;background:var(--red);color:#fff}.voucher-created svg{width:28px;height:28px}.voucher-created h2{font-size:28px;margin:14px 0 6px}.voucher-created>b{font-size:16px;letter-spacing:.12em}.voucher-created p{color:var(--muted);font-size:10px}
@media(max-width:1000px){.voucher-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.voucher-filter-grid .field{grid-column:auto!important}.voucher-filter-bottom{grid-template-columns:1fr}.voucher-grid{grid-template-columns:1fr}}
@media(max-width:620px){.voucher-tabs{grid-template-columns:1fr}.voucher-filter-grid{grid-template-columns:1fr}.voucher-card-lines{grid-template-columns:1fr}.voucher-bottom-bar{align-items:stretch;gap:8px;flex-direction:column}.voucher-bottom-bar .btn{width:100%}}



/* ===== Rodada 2026-09-30 · pilha animada de pop-ups ===== */
.toast-wrap{
  width:min(460px,calc(100vw - 36px))!important;
  height:90px;
  display:block!important;
  pointer-events:none;
  overflow:visible;
}
.toast-wrap .toast{
  position:absolute!important;
  top:0;
  right:0;
  width:100%;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  pointer-events:auto;
  transform-origin:100% 0;
  transform:translate3d(var(--toast-x,0px),var(--toast-y,0px),0) scale(var(--toast-scale,1));
  opacity:var(--toast-opacity,1);
  transition:
    transform .30s cubic-bezier(.2,.85,.25,1),
    opacity .22s ease,
    filter .22s ease,
    box-shadow .22s ease;
  animation:pfToastStackIn .30s cubic-bezier(.2,.85,.25,1);
  will-change:transform,opacity;
}
.toast-wrap .toast:nth-child(n+2){box-shadow:0 11px 30px rgba(0,0,0,.32)}
.toast-wrap .toast:nth-child(n+3){filter:saturate(.9) brightness(.94)}
.toast-wrap .toast.toast-hidden-stack{
  opacity:0!important;
  pointer-events:none!important;
  transform:translate3d(-30px,46px,0) scale(.88)!important;
}
.toast-wrap .toast.leaving{
  opacity:0!important;
  transform:translate3d(calc(var(--toast-x,0px) + 24px),var(--toast-y,0px),0) scale(var(--toast-scale,1))!important;
  transition:.22s ease!important;
  pointer-events:none!important;
}
@keyframes pfToastStackIn{
  from{
    opacity:0;
    transform:translate3d(calc(var(--toast-x,0px) + 34px),var(--toast-y,0px),0) scale(calc(var(--toast-scale,1) + .015));
  }
  to{
    opacity:var(--toast-opacity,1);
    transform:translate3d(var(--toast-x,0px),var(--toast-y,0px),0) scale(var(--toast-scale,1));
  }
}
@media(max-width:520px){
  .toast-wrap{width:auto!important;height:88px!important}
}
@media(prefers-reduced-motion:reduce){
  .toast-wrap .toast{animation:none!important;transition:opacity .12s ease!important}
}

/* ===== Área Técnico ===== */
.side-nav .side-ico-technical{color:var(--red)!important}.side-nav .side-ico-technical svg{width:18px!important;height:18px!important}
.technical-page{display:grid;gap:14px}.technical-hero{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;border:1px solid var(--border);border-radius:16px;background:linear-gradient(125deg,color-mix(in srgb,var(--red) 11%,var(--panel)),var(--panel) 58%,color-mix(in srgb,var(--red) 5%,var(--panel2)))}.technical-hero-icon{width:58px;height:58px;border-radius:15px;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 16%,var(--panel2));color:var(--red);border:1px solid color-mix(in srgb,var(--red) 30%,var(--border))}.technical-hero-icon svg{width:32px;height:32px}.technical-hero span{font-size:9px;font-weight:900;letter-spacing:.14em;color:var(--red)}.technical-hero h1{margin:4px 0;font-size:25px}.technical-hero p{margin:0;color:var(--muted);font-size:10px}
.technical-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.technical-kpis article{border:1px solid var(--border);border-radius:13px;background:var(--panel);padding:12px}.technical-kpis article.warn{border-color:#946c19}.technical-kpis article.bad{border-color:color-mix(in srgb,var(--red) 55%,var(--border))}.technical-kpis span{display:block;color:var(--muted);font-size:8px;font-weight:800;text-transform:uppercase}.technical-kpis b{display:block;font-size:22px;margin:4px 0}.technical-kpis small{color:var(--muted);font-size:8px}
.technical-launch-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.technical-launch-grid button,.technical-tool-grid button{position:relative;text-align:left;border:1px solid var(--border);border-radius:14px;background:var(--panel);padding:14px;cursor:pointer;color:var(--text);transition:.16s ease;min-height:145px}.technical-launch-grid button:hover,.technical-tool-grid button:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--red) 55%,var(--border))}.technical-launch-grid button>span,.technical-tool-grid button>span{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 12%,var(--panel2));color:var(--red);margin-bottom:12px}.technical-launch-grid svg,.technical-tool-grid svg{width:23px;height:23px}.technical-launch-grid b,.technical-tool-grid b{display:block;font-size:12px}.technical-launch-grid small,.technical-tool-grid small{display:block;color:var(--muted);font-size:9px;line-height:1.45;margin-top:5px}.technical-launch-grid i{position:absolute;left:14px;bottom:12px;font-style:normal;color:var(--red);font-size:8px;font-weight:900}
.technical-panel{border:1px solid var(--border);border-radius:15px;background:var(--panel);overflow:hidden}.technical-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 15px;border-bottom:1px solid var(--border)}.technical-panel-head h2{margin:0 0 3px;font-size:14px}.technical-panel-head p{margin:0;color:var(--muted);font-size:9px}
.technical-os-list{display:grid}.technical-os-list>button{display:grid;grid-template-columns:100px minmax(0,1fr) auto 18px;align-items:center;gap:10px;padding:10px 14px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);text-align:left;cursor:pointer}.technical-os-list>button:hover{background:var(--panel2)}.technical-os-number{font-weight:900;color:var(--red);font-size:10px}.technical-os-copy{display:grid;gap:2px}.technical-os-copy b{font-size:10px}.technical-os-copy small{font-size:8px;color:var(--muted)}
.technical-search-card{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;border:1px solid var(--border);border-radius:13px;background:var(--panel)}.technical-search-card>span{font-size:20px;color:var(--red)}.technical-search-card .input{border:0!important;background:transparent!important}.technical-search-card>b{font-size:9px;color:var(--muted)}
.technical-table-wrap{border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:auto}.technical-film-table{min-width:940px}.technical-row-actions{display:flex;gap:6px;justify-content:flex-end}.technical-empty{display:grid;justify-items:center;gap:7px;padding:40px}.technical-empty>span{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 12%,var(--panel2));color:var(--red)}.technical-empty svg{width:28px;height:28px}.technical-empty p{margin:0;color:var(--muted);font-size:9px}
.technical-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.technical-feature-grid article{border:1px solid var(--border);border-radius:13px;background:var(--panel);padding:14px}.technical-feature-grid span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--red) 13%,var(--panel2));color:var(--red);font-size:9px;font-weight:900}.technical-feature-grid b{display:block;margin:10px 0 4px;font-size:11px}.technical-feature-grid p{margin:0;color:var(--muted);font-size:9px}
.technical-info-box{border:1px solid color-mix(in srgb,var(--red) 22%,var(--border));background:color-mix(in srgb,var(--red) 5%,var(--panel));border-radius:13px;padding:13px}.technical-info-box b{font-size:10px;color:var(--red)}.technical-info-box p{margin:4px 0 0;color:var(--muted);font-size:9px}@keyframes techSwSpin{to{transform:rotate(360deg)}}
.technical-category-strip{display:flex;gap:7px;flex-wrap:wrap}.technical-category-strip span{padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:var(--panel);font-size:8px;font-weight:900;color:var(--muted)}
.technical-part-grid,.technical-supplier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px}.technical-part-grid article,.technical-supplier-grid article{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;border:1px solid var(--border);border-radius:11px;padding:9px;background:var(--panel2)}.technical-supplier-grid article{grid-template-columns:38px minmax(0,1fr)}.technical-part-icon,.technical-supplier-grid article>span{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--red);background:color-mix(in srgb,var(--red) 10%,var(--panel))}.technical-part-icon svg,.technical-supplier-grid svg{width:20px;height:20px}.technical-part-grid article div,.technical-supplier-grid div{display:grid;gap:2px;min-width:0}.technical-part-grid b,.technical-supplier-grid b{font-size:9px}.technical-part-grid small,.technical-supplier-grid small{font-size:8px;color:var(--muted)}.technical-part-grid strong{font-size:9px;color:var(--success)}.technical-part-grid strong.bad{color:var(--red)}
.technical-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.technical-tool-grid button{min-height:135px}
.technical-history-list{display:grid;border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden}.technical-history-list>button{display:grid;grid-template-columns:100px minmax(0,1.3fr) minmax(140px,.7fr) auto 18px;align-items:center;gap:10px;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:11px 13px;text-align:left;cursor:pointer}.technical-history-list>button:hover{background:var(--panel2)}.technical-history-os{font-size:10px;font-weight:900;color:var(--red)}.technical-history-list button>span:not(.tag):not(.technical-history-os){display:grid;gap:2px}.technical-history-list button>span b{font-size:9px}.technical-history-list button>span small{font-size:8px;color:var(--muted)}
@media(max-width:1180px){.technical-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.technical-launch-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.technical-part-grid,.technical-supplier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.technical-hero{grid-template-columns:52px 1fr}.technical-hero>.btn{grid-column:1/-1}.technical-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.technical-launch-grid,.technical-feature-grid,.technical-tool-grid,.technical-part-grid,.technical-supplier-grid{grid-template-columns:1fr}.technical-os-list>button{grid-template-columns:72px minmax(0,1fr) 18px}.technical-os-list .tag{display:none}.technical-history-list>button{grid-template-columns:72px minmax(0,1fr) auto 18px}.technical-history-list>button>span:nth-child(3){display:none}}


/* ===== Películas Compatíveis · layout compacto ===== */
.film-compat-page{display:flex;justify-content:center;padding:6px 0 18px}
.film-compat-window{width:min(100%,1040px);border:1px solid var(--border);border-radius:15px;background:var(--panel);overflow:hidden;box-shadow:0 14px 36px rgba(0,0,0,.14)}
.film-compat-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;border-bottom:1px solid var(--border);background:linear-gradient(90deg,color-mix(in srgb,var(--red) 7%,var(--panel)),var(--panel))}
.film-compat-title{display:flex;align-items:center;gap:10px}.film-compat-logo{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 14%,var(--panel2));color:var(--red)}.film-compat-logo svg{width:21px;height:21px}
.film-compat-title h1{margin:0;font-size:17px}.film-compat-title p{margin:2px 0 0;color:var(--muted);font-size:8px}
.film-compat-head-actions{display:flex;align-items:center;gap:8px}.film-model-count{border:1px solid color-mix(in srgb,var(--red) 20%,var(--border));background:color-mix(in srgb,var(--red) 8%,var(--panel2));color:var(--red);border-radius:999px;padding:6px 11px;font-size:9px;font-weight:900;white-space:nowrap}
.film-search-row{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:8px;padding:12px 14px 7px}.film-search-box{height:42px;border:1px solid var(--border);background:var(--panel2);border-radius:10px;display:grid;grid-template-columns:30px 1fr;align-items:center}.film-search-box:focus-within{border-color:var(--red);box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 12%,transparent)}.film-search-box>span{display:grid;place-items:center;color:var(--red);font-size:17px}.film-search-box input{height:100%;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:10px;padding:0 10px 0 0}.film-search-box input::placeholder{color:var(--muted)}
.film-brand-filter{height:42px!important;font-size:9px!important}
.film-search-hint{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:1px 15px 8px;font-size:9px}.film-search-hint b{font-size:9px}.film-search-hint span{color:var(--muted)}
.film-table-box{margin:0 14px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--panel2)}
.film-table-head{display:grid;grid-template-columns:32% minmax(0,1fr) 74px;min-height:34px;align-items:center;background:var(--red);color:#fff;font-size:8px;font-weight:900;letter-spacing:.025em}.film-table-head span{padding:0 11px}
.film-table-scroll{height:min(47vh,430px);min-height:310px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--muted) transparent}
.film-table-row{display:grid;grid-template-columns:32% minmax(0,1fr) 74px;align-items:center;min-height:43px;border-bottom:1px solid var(--border);background:var(--panel);transition:background .12s}.film-table-row:last-child{border-bottom:0}.film-table-row:hover{background:color-mix(in srgb,var(--red) 4%,var(--panel2))}
.film-model-cell,.film-compatible-cell{padding:7px 11px;min-width:0}.film-model-cell{display:flex;align-items:center;gap:8px}.film-model-cell small{flex:0 0 auto;padding:3px 5px;border-radius:5px;background:var(--panel2);color:var(--muted);font-size:6.5px;font-weight:900;letter-spacing:.04em}.film-model-cell b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.film-compatible-cell{font-size:8.5px;line-height:1.35;color:var(--text)}.film-no-compat{color:var(--muted);font-style:italic}
.film-row-action{display:flex;align-items:center;justify-content:center;gap:4px;padding:5px}.film-action-btn{width:27px;height:27px;border:1px solid var(--border);border-radius:7px;background:var(--panel2);color:var(--text);cursor:pointer;font-weight:900}.film-action-btn:hover{border-color:var(--red);color:var(--red)}.film-action-btn.danger:hover{background:color-mix(in srgb,var(--red) 10%,var(--panel2))}
.film-base-badge{font-size:6.5px;font-weight:900;color:var(--muted);border:1px solid var(--border);border-radius:999px;padding:3px 6px}
.film-empty{height:240px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;color:var(--muted)}.film-empty>span{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 10%,var(--panel));color:var(--red)}.film-empty svg{width:24px;height:24px}.film-empty b{font-size:10px;color:var(--text)}.film-empty p{margin:0;font-size:8px}
.film-compat-foot{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;color:var(--muted);font-size:8px}.film-compat-foot>span{color:var(--success);font-weight:800}.film-compat-foot small{font-size:7.5px}
@media(max-width:760px){.film-compat-page{padding-top:0}.film-compat-window{border-radius:11px}.film-compat-head{align-items:flex-start}.film-compat-head-actions{flex-direction:column;align-items:flex-end}.film-search-row{grid-template-columns:1fr}.film-table-head,.film-table-row{grid-template-columns:40% minmax(0,1fr) 44px}.film-table-head span:last-child{display:none}.film-row-action{padding:3px}.film-base-badge{display:none}.film-model-cell{display:grid;gap:3px}.film-compatible-cell{font-size:8px}.film-compat-foot small{display:none}}


/* ===== Películas · busca exata e estoque da loja ===== */
.film-table-head,.film-table-row{grid-template-columns:27% minmax(0,1fr) 165px 70px!important}
.film-model-link{display:inline-flex;align-items:center;gap:5px;min-width:0;border:0;background:transparent;color:var(--text);padding:0;font:inherit;font-size:9px;font-weight:900;cursor:pointer;text-align:left}
.film-model-link:hover{color:var(--red);text-decoration:underline}
.film-model-link i{font-style:normal;font-size:8px;color:var(--red)}
.film-stock-cell{display:flex;align-items:center;padding:5px 8px;min-width:0}
.film-stock-badge{width:100%;display:grid;gap:1px;border-radius:8px;padding:5px 7px;border:1px solid var(--border);background:var(--panel2);cursor:pointer;text-align:left}
.film-stock-badge b{font-size:7px;letter-spacing:.025em}.film-stock-badge span{font-size:7px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.film-stock-badge.in{border-color:color-mix(in srgb,var(--success) 38%,var(--border));background:color-mix(in srgb,var(--success) 7%,var(--panel2))}
.film-stock-badge.in b{color:var(--success)}
.film-stock-badge.out{border-color:color-mix(in srgb,var(--red) 42%,var(--border));background:color-mix(in srgb,var(--red) 7%,var(--panel2))}
.film-stock-badge.out b{color:var(--red)}
.film-stock-badge:hover{filter:brightness(1.08)}
.film-stock-none{width:100%;text-align:center;color:var(--muted);font-size:6.5px;font-weight:900;letter-spacing:.035em}
@media(max-width:900px){
  .film-table-head,.film-table-row{grid-template-columns:32% minmax(0,1fr) 118px 44px!important}
  .film-stock-badge span{font-size:6.5px}
}
@media(max-width:650px){
  .film-table-head,.film-table-row{grid-template-columns:38% minmax(0,1fr) 78px!important}
  .film-table-head span:nth-child(4),.film-row-action{display:none!important}
  .film-stock-badge{padding:4px 5px}
  .film-stock-badge span{white-space:normal;line-height:1.2}
}

/* ===== Estoque vindo da Tabela de Películas ===== */
.inventory-film-filter{display:inline-flex;align-items:center;border:1px solid color-mix(in srgb,var(--red) 32%,var(--border));background:color-mix(in srgb,var(--red) 7%,var(--panel2));color:var(--red);border-radius:999px;padding:4px 8px;font-size:7px;font-weight:900;letter-spacing:.04em}


/* ===== Solicitações da Tabela de Películas ===== */
.film-request-empty{height:260px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center;padding:20px;color:var(--muted)}
.film-request-empty>span{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 10%,var(--panel));color:var(--red)}
.film-request-empty>span svg{width:25px;height:25px}.film-request-empty b{font-size:11px;color:var(--text)}.film-request-empty p{margin:0 0 5px;font-size:8.5px}.film-request-empty>div{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}
.film-request-modal{display:grid;gap:10px}.film-request-mode{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--panel2)}
.film-request-mode button{border:0;background:transparent;color:var(--muted);font-size:8.5px;font-weight:900;padding:8px 10px;cursor:pointer}.film-request-mode button+button{border-left:1px solid var(--border)}.film-request-mode button.active{background:var(--red);color:#fff}
.modal.film-request-window{width:min(700px,calc(100vw - 32px));max-height:84vh;border-radius:16px}.film-request-window .modal-head{padding:13px 16px}.film-request-window .modal-head h2{font-size:17px}.film-request-window .modal-body{padding:14px 16px}.film-request-window .modal-foot{padding:11px 16px}.film-request-window .form-grid{gap:9px 12px}.film-request-window .input,.film-request-window .select{min-height:40px}.film-request-window .textarea{min-height:66px;padding-top:10px;padding-bottom:10px}.film-request-window .field label{margin-bottom:5px}.film-request-window .field small{font-size:8px}
@media(max-width:650px){.film-compat-head-actions{flex-wrap:wrap;justify-content:flex-end}.film-request-mode{grid-template-columns:1fr}.modal.film-request-window{width:min(96vw,700px);max-height:88vh}.film-request-window .form-grid{grid-template-columns:1fr}}

.film-admin-open{display:inline-flex;align-items:center;gap:7px}.film-admin-open span{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-size:9px;font-weight:900}
.film-admin-inbox{display:grid;gap:12px}.film-admin-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.film-admin-summary button{border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:10px;padding:9px;display:grid;gap:2px;text-align:left;cursor:pointer}.film-admin-summary button.active{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}.film-admin-summary b{font-size:16px}.film-admin-summary span{font-size:8px;color:var(--muted);font-weight:800;text-transform:uppercase}
.film-admin-list{display:grid;gap:9px;max-height:58vh;overflow:auto;padding-right:3px}.film-admin-card{border:1px solid var(--border);background:var(--panel2);border-radius:12px;padding:12px;display:grid;gap:10px}.film-admin-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.film-admin-card-head>div{display:grid;gap:2px}.film-admin-card-head small,.film-admin-card-head span{font-size:8px;color:var(--muted)}.film-admin-card-head b{font-size:13px}.film-admin-type{width:max-content;border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-size:8px;font-weight:900;color:var(--muted)}.film-admin-data{display:grid;grid-template-columns:1fr 1fr;gap:8px}.film-admin-data>div,.film-admin-block{border:1px solid var(--border);border-radius:9px;padding:9px;background:var(--panel)}.film-admin-data small,.film-admin-block small{display:block;font-size:8px;color:var(--muted);font-weight:900;margin-bottom:4px}.film-admin-data b{font-size:12px}.film-admin-block p{margin:0;font-size:11px;line-height:1.45;white-space:pre-wrap}.film-admin-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.film-admin-empty{padding:26px;text-align:center;color:var(--muted);font-size:11px;border:1px dashed var(--border);border-radius:11px}
@media(max-width:720px){.film-admin-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.film-admin-data{grid-template-columns:1fr}}

.top-account-action#topSuggestions{position:relative}
.dev-environment .top-account-action#topSuggestions{border-color:color-mix(in srgb,var(--red) 32%,var(--border))}

.header-notice-time{
  display:block;
  margin-top:3px;
  color:color-mix(in srgb,var(--muted) 88%,var(--text));
  font-size:7.5px;
  font-weight:750;
  letter-spacing:.02em;
  line-height:1.2;
}

/* ===== DEV · Central de Sugestões ===== */
.modal.dev-feedback-center{width:min(1180px,calc(100vw - 34px));max-height:92vh}
.dev-feedback-inbox{gap:11px}
.dev-feedback-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--border);background:var(--panel2);border-radius:11px;padding:11px 13px}
.dev-feedback-intro>div{display:grid;gap:3px}.dev-feedback-intro b{font-size:11px}.dev-feedback-intro span{font-size:8px;color:var(--muted);line-height:1.4}
.dev-only-chip{flex:0 0 auto;border:1px solid color-mix(in srgb,var(--red) 42%,var(--border));background:color-mix(in srgb,var(--red) 8%,var(--panel));color:var(--red)!important;border-radius:999px;padding:5px 8px;font-size:7px!important;font-weight:900;letter-spacing:.05em}
.dev-feedback-categories{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
.dev-feedback-category{min-width:0;border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:10px;padding:9px 10px;display:grid;grid-template-columns:1fr auto;gap:2px 7px;text-align:left;cursor:pointer}
.dev-feedback-category>span{font-size:8px;font-weight:900;letter-spacing:.025em}.dev-feedback-category>b{font-size:14px;line-height:1}.dev-feedback-category>small{grid-column:1/-1;font-size:7px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dev-feedback-category.active{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red);background:color-mix(in srgb,var(--red) 6%,var(--panel2))}
.dev-feedback-category.active>span,.dev-feedback-category.active>b{color:var(--red)}
@media(max-width:980px){.dev-feedback-categories{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.modal.dev-feedback-center{width:min(96vw,1180px)}.dev-feedback-categories{grid-template-columns:repeat(2,minmax(0,1fr))}.dev-feedback-intro{align-items:flex-start}.dev-only-chip{display:none}}

/* ===== Painel de Sugestões dos Lojistas ===== */
.account-suggestions-row>span:first-child{color:var(--red)}
.modal.community-suggestions-modal{width:min(960px,calc(100vw - 28px));max-height:92vh}
.community-suggestions-panel{display:grid;gap:12px}
.community-suggestion-intro{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid color-mix(in srgb,var(--red) 25%,var(--border));background:color-mix(in srgb,var(--red) 5%,var(--panel2));border-radius:12px;padding:12px 14px}
.community-suggestion-intro>div{display:grid;gap:3px}.community-suggestion-intro b{font-size:12px}.community-suggestion-intro span{font-size:9px;line-height:1.5;color:var(--muted)}
.community-main-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:var(--panel2);border-radius:10px;padding:3px}
.community-main-tabs button{min-height:36px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:9px;font-weight:900;cursor:pointer}
.community-main-tabs button.active{background:var(--red);color:#fff}
.community-sort-row{display:flex;gap:7px;flex-wrap:wrap}
.community-sort-row button{border:1px solid var(--border);background:var(--panel2);color:var(--muted);border-radius:999px;padding:7px 11px;font-size:8px;font-weight:900;cursor:pointer}
.community-sort-row button.active{background:color-mix(in srgb,var(--red) 12%,var(--panel2));border-color:var(--red);color:var(--red)}
.community-suggestion-list{display:grid;gap:9px;max-height:56vh;overflow:auto;padding-right:3px}
.community-suggestion-card{border:1px solid var(--border);background:var(--panel2);border-radius:12px;overflow:hidden}
.community-suggestion-main{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 18px;gap:10px;align-items:center;border:0;background:transparent;color:var(--text);padding:12px;text-align:left;cursor:pointer}
.community-suggestion-copy{display:grid;gap:4px;min-width:0}.community-suggestion-copy small{font-size:7.5px;color:var(--muted);font-weight:900}.community-suggestion-copy b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.community-suggestion-main>i{font-style:normal;color:var(--muted);transition:.15s}.community-suggestion-card.open .community-suggestion-main>i{transform:rotate(180deg)}
.community-suggestion-details{padding:0 12px 10px}.community-suggestion-details p{margin:0;border-top:1px solid var(--border);padding-top:10px;font-size:10px;line-height:1.55;color:var(--muted);white-space:pre-wrap}
.community-suggestion-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border-top:1px solid var(--border);font-size:8px;color:var(--muted)}
.community-vote{border:1px solid var(--border);background:var(--panel);color:var(--muted);border-radius:999px;padding:5px 9px;font-size:9px;cursor:pointer}.community-vote.active{border-color:var(--red);color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--panel))}.community-vote.passive{cursor:default}
.community-empty{min-height:180px;border:1px dashed var(--border);border-radius:12px;background:var(--panel2);display:grid;place-content:center;text-align:center;gap:5px;padding:22px;color:var(--muted)}.community-empty b{font-size:12px;color:var(--text)}.community-empty span{font-size:9px}
.community-send-note{border:1px solid color-mix(in srgb,#36a3ff 38%,var(--border));background:color-mix(in srgb,#36a3ff 7%,var(--panel2));border-radius:10px;padding:10px 12px;color:#36a3ff;font-size:9px;line-height:1.45}
.community-send-form{display:grid;gap:12px;max-height:56vh;overflow:auto;padding:2px}.community-description{min-height:150px}.community-counter{display:block;text-align:right;margin-top:4px;color:var(--muted);font-size:8px}.community-send-actions{display:flex;justify-content:flex-end}
@media(max-width:650px){.community-main-tabs{grid-template-columns:1fr}.community-suggestion-intro{align-items:flex-start;flex-direction:column}.modal.community-suggestions-modal{width:min(96vw,960px)}}

.dev-feedback-status-summary{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:980px){.dev-feedback-status-summary{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.dev-feedback-status-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ===== Rodada 2026-09-30 · pré-pedidos + horário dos avisos ===== */
.header-notice-time{display:block;margin-top:5px;font-style:normal;font-size:8px;font-weight:800;letter-spacing:.03em;color:color-mix(in srgb,var(--muted) 82%,transparent)}
.pdv-preorder-banner{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;margin:-5px 0 12px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--warning) 42%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--warning) 8%,var(--panel))}
.pdv-preorder-banner>span{padding:5px 8px;border-radius:999px;background:var(--warning);color:#171717;font-size:8px;font-weight:950;letter-spacing:.06em}
.pdv-preorder-banner div{display:grid;gap:2px}.pdv-preorder-banner b{font-size:11px}.pdv-preorder-banner small{font-size:9px;color:var(--muted)}
.pdv-order-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.pdv-order-actions .btn{margin:0!important;min-height:38px}
.pdv-preorder-active-note{margin:10px 0 8px;padding:8px 10px;border-radius:9px;border:1px solid color-mix(in srgb,var(--warning) 35%,var(--border));background:color-mix(in srgb,var(--warning) 7%,var(--panel2));color:var(--warning);font-size:9px;font-weight:850;text-align:center}
.sale-list-card.pre-order-card{border-color:color-mix(in srgb,var(--warning) 35%,var(--border));background:linear-gradient(90deg,color-mix(in srgb,var(--warning) 4%,var(--panel)),var(--panel))}
.pre-order-detail-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 16px;margin-bottom:12px;border:1px solid color-mix(in srgb,var(--warning) 42%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--warning) 8%,var(--panel))}
.pre-order-detail-hero>span{padding:6px 9px;border-radius:999px;background:var(--warning);color:#171717;font-size:8px;font-weight:950}.pre-order-detail-hero h2{margin:0 0 3px;font-size:16px}.pre-order-detail-hero p{margin:0;color:var(--muted);font-size:9px}.pre-order-detail-hero>strong{font-size:20px;color:var(--warning)}
.pre-order-detail-hero.cancelled{border-color:color-mix(in srgb,var(--danger) 42%,var(--border));background:color-mix(in srgb,var(--danger) 7%,var(--panel))}.pre-order-detail-hero.cancelled>span{background:var(--danger);color:#fff}.pre-order-detail-hero.cancelled>strong{color:var(--danger)}
.pre-order-detail-hero.converted{border-color:color-mix(in srgb,var(--success) 42%,var(--border));background:color-mix(in srgb,var(--success) 7%,var(--panel))}.pre-order-detail-hero.converted>span{background:var(--success);color:#071b0d}.pre-order-detail-hero.converted>strong{color:var(--success)}
.pre-order-stock-note{display:grid;gap:3px;padding:11px 13px;margin-bottom:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--warning) 28%,var(--border));background:var(--panel2)}.pre-order-stock-note b{font-size:10px;color:var(--warning)}.pre-order-stock-note span{font-size:9px;color:var(--muted);line-height:1.4}
.pre-order-totals{display:flex;justify-content:flex-end;gap:22px;align-items:end;padding:13px 4px 2px}.pre-order-totals>div{display:grid;gap:3px;text-align:right}.pre-order-totals span{font-size:9px;color:var(--muted)}.pre-order-totals b{font-size:13px}.pre-order-totals .total b{font-size:18px;color:var(--warning)}
@media(max-width:620px){.pdv-order-actions{grid-template-columns:1fr}.pre-order-detail-hero{grid-template-columns:1fr;align-items:start}.pre-order-detail-hero>strong{text-align:left}.pre-order-totals{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pre-order-totals .total{grid-column:1/-1}}


/* ===== Rodada 2026-09-30 · aba Pré-pedidos no PDV ===== */
.pdv-stage-tab.pdv-preorders-tab{margin-left:auto;border-color:color-mix(in srgb,var(--warning) 24%,var(--border))}
.pdv-stage-tab.pdv-preorders-tab>span{font-size:11px}
.pdv-stage-tab.pdv-preorders-tab.active{border-color:color-mix(in srgb,var(--warning) 55%,var(--border));background:color-mix(in srgb,var(--warning) 9%,var(--panel2));color:var(--warning)}
.pdv-preorders-workspace{width:100%;min-height:460px;border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden}
.pdv-preorders-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--border)}
.pdv-preorders-head h3{margin:4px 0 3px;font-size:15px}.pdv-preorders-head p{margin:0;font-size:9px;color:var(--muted)}
.pdv-preorders-count{display:grid;place-items:center;min-width:38px;height:32px;padding:0 10px;border-radius:999px;background:color-mix(in srgb,var(--warning) 12%,var(--panel2));border:1px solid color-mix(in srgb,var(--warning) 30%,var(--border));color:var(--warning);font-size:13px;font-weight:950}
.pdv-preorders-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 18px;border-bottom:1px solid var(--border);background:var(--panel2)}
.pdv-preorders-list{display:grid;gap:9px;padding:14px 18px 18px}
.pdv-preorder-row{border:1px solid var(--border);border-radius:12px;background:var(--panel2);overflow:hidden;transition:border-color .16s ease,transform .16s ease}
.pdv-preorder-row:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--border));transform:translateY(-1px)}
.pdv-preorder-row.overdue{border-color:color-mix(in srgb,var(--warning) 42%,var(--border));background:linear-gradient(90deg,color-mix(in srgb,var(--warning) 5%,var(--panel2)),var(--panel2))}
.pdv-preorder-main{width:100%;display:grid;grid-template-columns:34px minmax(180px,1.65fr) minmax(72px,.45fr) minmax(95px,.65fr) minmax(90px,.6fr) 16px;align-items:center;gap:12px;padding:12px 13px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}
.pdv-preorder-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--warning) 10%,var(--panel));font-size:15px}
.pdv-preorder-ident,.pdv-preorder-items,.pdv-preorder-age,.pdv-preorder-value{display:grid;gap:2px;min-width:0}
.pdv-preorder-ident>b{font-size:9px;color:var(--warning)}.pdv-preorder-ident>strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pdv-preorder-ident>small{font-size:8px;color:var(--muted)}
.pdv-preorder-items small,.pdv-preorder-age small,.pdv-preorder-value small{font-size:7px;font-weight:850;color:var(--muted);letter-spacing:.04em}.pdv-preorder-items b,.pdv-preorder-age b,.pdv-preorder-value b{font-size:11px}.pdv-preorder-items em,.pdv-preorder-age em{font-size:7px;font-style:normal;color:var(--muted)}
.pdv-preorder-age.warn b,.pdv-preorder-age.warn em{color:var(--warning);font-weight:900}.pdv-preorder-value{text-align:right}.pdv-preorder-value b{font-size:13px;color:var(--success)}
.pdv-preorder-main>i{font-style:normal;color:var(--muted);font-size:16px}
.pdv-preorder-actions{display:flex;justify-content:flex-end;gap:7px;padding:8px 12px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--panel) 55%,transparent)}
@media(max-width:820px){
  .pdv-stage-tab.pdv-preorders-tab{margin-left:0}
  .pdv-preorder-main{grid-template-columns:32px minmax(0,1fr) auto}.pdv-preorder-items,.pdv-preorder-age{display:none}.pdv-preorder-value{min-width:80px}.pdv-preorder-main>i{display:none}
}
@media(max-width:560px){
  .pdv-preorders-toolbar{grid-template-columns:1fr}.pdv-preorders-head{align-items:flex-start}.pdv-preorder-main{grid-template-columns:32px minmax(0,1fr)}.pdv-preorder-value{grid-column:2;text-align:left}.pdv-preorder-actions{display:grid;grid-template-columns:1fr 1fr}.pdv-preorder-actions [data-pdv-preorder-cancel]{grid-column:1/-1}
}


/* ===== Rodada 2026-09-30 · três ações no resumo do PDV ===== */
.pdv-order-actions.pdv-order-actions-three{
  grid-template-columns:.82fr 1.08fr 1.1fr;
  gap:7px;
}
.pdv-order-actions-three .btn{
  min-width:0;
  padding-left:8px!important;
  padding-right:8px!important;
  white-space:nowrap;
  font-size:8px;
}
.pdv-open-preorders-btn{
  border:1px solid color-mix(in srgb,var(--warning) 58%,var(--border))!important;
  background:color-mix(in srgb,var(--warning) 13%,var(--panel2))!important;
  color:var(--warning)!important;
  font-weight:950!important;
}
.pdv-open-preorders-btn:hover{
  border-color:var(--warning)!important;
  background:color-mix(in srgb,var(--warning) 20%,var(--panel2))!important;
  transform:translateY(-1px);
}
@media(max-width:520px){
  .pdv-order-actions.pdv-order-actions-three{grid-template-columns:1fr 1fr}
  .pdv-order-actions-three .pdv-open-preorders-btn{grid-column:1/-1}
}


/* ===== Financeiro · Vales Compra / Presente ===== */
.voucher-card-value{display:grid!important;grid-template-columns:auto auto;align-items:center;justify-content:start;gap:2px 8px!important}.voucher-card-value strong{grid-row:1/span 2}.voucher-card-value small{font-size:7px;color:var(--muted);white-space:nowrap}.voucher-card-value .tag{grid-column:2}
.voucher-kind-line{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;padding-top:9px;border-top:1px solid var(--border)}.voucher-kind-line>span{font-size:8px;font-weight:950;color:var(--red);letter-spacing:.04em}.voucher-kind-line>small{font-size:7.5px;color:var(--muted)}
.voucher-history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.voucher-history-summary>div{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);display:grid;gap:3px}.voucher-history-summary span{font-size:7px;color:var(--muted);text-transform:uppercase;font-weight:900}.voucher-history-summary b{font-size:13px}.voucher-history-list{display:grid;gap:7px;max-height:430px;overflow:auto}.voucher-history-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.voucher-history-list article>span{font-size:9px;font-weight:900}.voucher-history-list article>b{font-size:10px;color:var(--red)}.voucher-history-list article>small,.voucher-history-list article>p{grid-column:1/-1;margin:0;color:var(--muted);font-size:7.5px}.voucher-reverse-warning{display:grid;gap:4px;margin-bottom:12px;padding:11px;border:1px solid color-mix(in srgb,var(--red) 42%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--red) 6%,var(--panel))}.voucher-reverse-warning b{color:var(--red);font-size:11px}.voucher-reverse-warning span{font-size:8px;color:var(--muted)}
.checkout-voucher-code-field{grid-column:1/-1}.checkout-voucher-code-field small{display:block;margin-top:5px;color:var(--muted);font-size:7px;line-height:1.4}
@media(max-width:620px){.voucher-history-summary{grid-template-columns:1fr}.voucher-card-value small{white-space:normal}}

/* ===== Financeiro · Recibos avulsos ===== */
.finance-receipts-page{display:grid;gap:12px}.finance-receipt-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.finance-receipt-kpis article{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:12px}.finance-receipt-kpis span{display:block;font-size:7px;color:var(--muted);font-weight:900;letter-spacing:.06em}.finance-receipt-kpis b{display:block;margin-top:4px;font-size:21px}.finance-receipt-toolbar{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:var(--muted)}.finance-receipt-toolbar b{color:var(--text)}
.finance-receipt-table td{vertical-align:middle}.finance-receipt-table td small{display:block;margin-top:3px;font-size:7px;color:var(--muted)}.finance-receipt-desc{max-width:360px;white-space:normal;line-height:1.35}.finance-receipt-cancelled-row{opacity:.66}.finance-receipt-menu{top:calc(100% + 6px)!important;right:0!important;bottom:auto!important;z-index:70}.finance-receipt-menu.open{display:grid!important}
.finance-receipt-form{display:grid;gap:12px}.finance-receipt-form-title{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.finance-receipt-form-title>span{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,#91bf2a 18%,var(--panel));color:#91bf2a}.finance-receipt-form-title svg{width:22px;height:22px}.finance-receipt-form-title h3{margin:0 0 3px;font-size:15px}.finance-receipt-form-title p{margin:0;font-size:8px;color:var(--muted)}
.finance-receipt-grid{display:grid;grid-template-columns:115px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:10px}.finance-receipt-grid .receipt-client-field{grid-column:span 3}.finance-receipt-grid .field.full{grid-column:1/-1}.finance-receipt-grid .field small{display:block;margin-top:4px;font-size:7px;color:var(--muted)}.finance-receipt-description{min-height:98px}.receipt-char-count{text-align:right}.receipt-char-count b{color:var(--text)}
.finance-receipt-created{text-align:center;padding:16px}.finance-receipt-created>span{width:54px;height:54px;border-radius:14px;margin:auto;display:grid;place-items:center;background:color-mix(in srgb,#91bf2a 18%,var(--panel));color:#91bf2a}.finance-receipt-created svg{width:28px;height:28px}.finance-receipt-created h2{font-size:28px;margin:13px 0 5px}.finance-receipt-created>b{font-size:16px;letter-spacing:.06em}.finance-receipt-created p,.finance-receipt-created small{display:block;color:var(--muted);font-size:8px;margin-top:5px}.finance-receipt-cancel-warning{display:grid;gap:4px;margin-bottom:12px;padding:11px;border:1px solid color-mix(in srgb,var(--red) 40%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--red) 6%,var(--panel))}.finance-receipt-cancel-warning b{font-size:11px;color:var(--red)}.finance-receipt-cancel-warning span{font-size:8px;color:var(--muted)}
.public-finance-receipt-page{min-height:100vh;background:#f4f5f7;padding:28px;display:grid;place-items:center;color:#1b1b1b}.public-finance-receipt-card{width:min(720px,100%);background:#fff;border-radius:18px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.12);display:grid;grid-template-columns:1fr 1fr;gap:10px}.public-finance-receipt-brand{grid-column:1/-1;display:flex;align-items:center;gap:13px;border-bottom:1px solid #e7e7e7;padding-bottom:15px}.public-finance-receipt-brand img{width:58px;height:58px;object-fit:contain}.public-finance-receipt-brand h1{margin:0;font-size:20px}.public-finance-receipt-brand span{font-size:11px;color:#666}.public-finance-receipt-status{grid-column:1/-1;border-radius:9px;padding:9px 12px;font-weight:900;font-size:11px}.public-finance-receipt-status.valid{background:#edf7df;color:#497b00}.public-finance-receipt-status.cancelled{background:#ffe8e8;color:#a40000}.public-finance-receipt-card section{border:1px solid #e8e8e8;border-radius:10px;padding:11px;display:grid;gap:4px}.public-finance-receipt-card section.full{grid-column:1/-1}.public-finance-receipt-card section span{font-size:9px;color:#777;text-transform:uppercase;font-weight:800}.public-finance-receipt-card section b{font-size:14px}.public-finance-receipt-address,.public-finance-receipt-ok,.public-finance-receipt-cancel{grid-column:1/-1;margin:0;font-size:10px;color:#666}.public-finance-receipt-ok{padding:10px;border-radius:9px;background:#f2f8e8;color:#497b00}.public-finance-receipt-cancel{padding:10px;border-radius:9px;background:#fff0f0;color:#a40000}
@media(max-width:800px){.finance-receipt-grid{grid-template-columns:1fr 1fr}.finance-receipt-grid .receipt-code-field{grid-column:auto}.finance-receipt-grid .receipt-client-field{grid-column:span 1}.finance-receipt-kpis{grid-template-columns:1fr}.public-finance-receipt-card{grid-template-columns:1fr}.public-finance-receipt-card section.full,.public-finance-receipt-brand,.public-finance-receipt-status,.public-finance-receipt-address,.public-finance-receipt-ok,.public-finance-receipt-cancel{grid-column:1}}
@media(max-width:520px){.finance-receipt-grid{grid-template-columns:1fr}.finance-receipt-grid .receipt-client-field{grid-column:auto}}

/* ===== Financeiro · Despesas / Contas a Pagar ===== */
.page-head-actions{display:flex;gap:8px;align-items:center}.expense-page,.payables-page,.expense-types-page{display:grid;gap:12px}.expense-overview,.payable-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.expense-overview>div,.payable-overview>div{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:12px}.expense-overview span,.payable-overview span{display:block;font-size:7px;color:var(--muted);font-weight:900;letter-spacing:.06em}.expense-overview b,.payable-overview b{display:block;margin-top:4px;font-size:18px}.expense-table td small,.payable-table td small{display:block;margin-top:3px;font-size:7px;color:var(--muted)}.expense-cancelled-row{opacity:.58}.payable-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.expense-form-shell{display:grid;gap:12px}.expense-form-head{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.expense-form-head>span{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--red) 10%,var(--panel));color:var(--red)}.expense-form-head svg{width:22px;height:22px}.expense-form-head h3{margin:0 0 3px;font-size:15px}.expense-form-head p{margin:0;font-size:8px;color:var(--muted)}.expense-main-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-type-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.expense-paid-panel{border:1px solid var(--border);border-radius:12px;background:var(--panel2);padding:12px}.expense-paid-title{display:grid;gap:2px;margin-bottom:10px}.expense-paid-title b{font-size:10px}.expense-paid-title span,.expense-paid-help{font-size:7.5px;color:var(--muted)}.expense-paid-help{margin-top:8px;padding:8px;border-radius:8px;background:var(--panel)}
.expense-type-note{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid var(--border);border-radius:12px;background:var(--panel2);padding:12px}.expense-type-note b{font-size:10px}.expense-type-note span{font-size:8px;color:var(--muted);max-width:720px}.expense-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.expense-type-grid article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.expense-type-grid article>div{display:flex;align-items:center;gap:9px}.expense-type-grid article>div>span{width:34px;height:34px;border-radius:9px;background:var(--panel2);display:grid;place-items:center;color:var(--red)}.expense-type-grid svg{width:18px;height:18px}.expense-type-grid h3{font-size:10px;margin:0 0 3px}.expense-type-grid small{font-size:7.5px;color:var(--muted)}
.payable-payment-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:12px}.payable-payment-summary>div{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);display:grid;gap:3px}.payable-payment-summary span{font-size:7px;color:var(--muted);font-weight:900;text-transform:uppercase}.payable-payment-summary b{font-size:10px}.finance-entry-cancel-warning{display:grid;gap:4px;margin-bottom:12px;padding:11px;border:1px solid color-mix(in srgb,var(--red) 42%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--red) 6%,var(--panel))}.finance-entry-cancel-warning b{font-size:11px;color:var(--red)}.finance-entry-cancel-warning span{font-size:8px;color:var(--muted)}
@media(max-width:900px){.expense-overview,.payable-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.expense-overview,.payable-overview,.expense-type-grid,.expense-main-grid,.payable-payment-summary{grid-template-columns:1fr}.page-head-actions{width:100%;flex-direction:column}.page-head-actions .btn{width:100%}.expense-type-note{display:grid}}


/* ===== Financeiro · Contas a Pagar · fluxo por contas e parcelas ===== */
.payables-compact{gap:10px}
.payable-filter-card{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:11px;display:grid;gap:10px}
.payable-filter-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.payable-filter-bottom{align-items:flex-end}
.payable-filter-label{display:block;margin-bottom:5px;font-size:7px;font-weight:950;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.payable-status-pills,.payable-quick-pills{display:flex;gap:6px;flex-wrap:wrap}
.payable-status-pills button,.payable-quick-pills button{border:1px solid var(--border);background:var(--panel2);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:8px;font-weight:900;cursor:pointer}
.payable-status-pills button:hover,.payable-quick-pills button:hover,.payable-status-pills button.active,.payable-quick-pills button.active{border-color:var(--red);color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--panel))}
.payable-group-toggle{display:grid;gap:5px;font-size:8px;color:var(--muted);font-weight:850}.payable-group-toggle>span:first-child{font-size:7px;text-transform:uppercase;letter-spacing:.06em}.payable-group-toggle input{accent-color:var(--red)}
.payable-search-tools{display:grid;grid-template-columns:minmax(190px,1.4fr) 125px 125px auto;gap:7px;align-items:end;flex:1;max-width:760px}
.payable-overview-shell{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:11px;display:grid;gap:9px}.payable-overview-shell>div:first-child{display:grid;gap:2px}.payable-overview-shell>div:first-child>b{font-size:10px}.payable-overview-shell>div:first-child>small{font-size:7px;color:var(--muted)}
.payables-compact .payable-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.payables-compact .payable-overview>div{padding:10px;background:var(--panel2)}.payables-compact .payable-overview b{font-size:16px}
.payable-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.payable-card{min-width:0;border:1px solid var(--border);border-radius:11px;background:var(--panel);padding:10px;display:grid;gap:9px;cursor:pointer;transition:.15s ease}
.payable-card:hover{border-color:color-mix(in srgb,var(--red) 42%,var(--border));transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.08)}
.payable-card-top{display:grid;grid-template-columns:31px minmax(0,1fr) auto;gap:8px;align-items:center}.payable-card-icon{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 9%,var(--panel2));color:var(--red)}.payable-card-icon svg{width:17px;height:17px}.payable-card-top h3{font-size:9.5px;line-height:1.15;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payable-card-top small{display:block;margin-top:2px;font-size:7px;color:var(--muted)}
.payable-card-body{display:grid;grid-template-columns:1fr auto;gap:4px 8px;font-size:7.5px;color:var(--muted)}.payable-card-body b{font-size:10px;color:var(--text);text-align:right}.payable-card-body span:nth-of-type(2){text-align:right}.payable-card>.btn{justify-self:stretch}
.payable-empty{grid-column:1/-1}
.compact-pager{display:flex;align-items:center;justify-content:center;gap:8px}.compact-pager span{font-size:8px;color:var(--muted);font-weight:900}
.payable-form-head,.payable-payment-title{display:flex;align-items:center;gap:11px;margin-bottom:12px;padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--panel2)}.payable-form-head>span,.payable-payment-title>span{width:39px;height:39px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 10%,var(--panel));color:var(--red)}.payable-form-head svg,.payable-payment-title svg{width:20px;height:20px}.payable-form-head h3{margin:0 0 2px;font-size:13px}.payable-form-head p,.payable-payment-title small{display:block;margin:0;font-size:7.5px;color:var(--muted)}.payable-payment-title b{font-size:11px}
.payable-account-form,.payable-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.payable-variable-disabled{opacity:.55}
.payable-partial-box{margin-top:11px;padding:11px;border:1px solid color-mix(in srgb,var(--warning) 48%,var(--border));border-radius:11px;background:color-mix(in srgb,var(--warning) 6%,var(--panel));display:grid;gap:8px}.payable-partial-warning{font-size:8px;color:var(--muted)}.payable-partial-choice{display:flex;align-items:center;gap:7px;font-size:8px;font-weight:850}.payable-partial-choice input{accent-color:var(--red)}.payable-residual-grid{grid-template-columns:1fr 1fr;padding-top:2px}
.payable-detail-head{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.payable-detail-head>div{border:1px solid var(--border);border-radius:9px;background:var(--panel2);padding:8px;display:grid;gap:3px}.payable-detail-head>div.full{grid-column:1/-1}.payable-detail-head span{font-size:6.8px;color:var(--muted);font-weight:900;text-transform:uppercase}.payable-detail-head b{font-size:9px}
.payable-installment-list{display:grid;gap:7px;max-height:430px;overflow:auto;padding-right:2px}.payable-installment{border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:9px;display:grid;gap:7px}.payable-installment.residual{border-color:color-mix(in srgb,var(--red) 32%,var(--border));background:color-mix(in srgb,var(--red) 3%,var(--panel))}
.payable-installment-main{display:flex;align-items:center;justify-content:space-between;gap:8px}.payable-installment-main>div{display:flex;align-items:center;gap:7px}.payable-installment-main b{font-size:9px}.payable-installment-data{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.payable-installment-data span{font-size:7px;color:var(--muted)}.payable-installment-data b{display:block;margin-top:2px;color:var(--text);font-size:8px}.payable-installment-actions{display:flex;justify-content:flex-end}
.payable-payment-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.payable-payment-detail>div{padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--panel2);display:grid;gap:3px}.payable-payment-detail>div.full{grid-column:1/-1}.payable-payment-detail span{font-size:7px;color:var(--muted);font-weight:900;text-transform:uppercase}.payable-payment-detail b{font-size:9px}
@media(max-width:1100px){.payable-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.payable-search-tools{grid-template-columns:minmax(180px,1fr) 115px 115px auto}}
@media(max-width:820px){.payable-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payable-search-tools{grid-template-columns:1fr 1fr}.payable-search-tools #payableSearch{grid-column:1/-1}.payable-detail-head{grid-template-columns:repeat(2,minmax(0,1fr))}.payable-installment-data{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.payable-card-grid,.payables-compact .payable-overview,.payable-account-form,.payable-payment-grid,.payable-residual-grid,.payable-detail-head,.payable-payment-detail{grid-template-columns:1fr}.payable-search-tools{grid-template-columns:1fr}.payable-search-tools #payableSearch{grid-column:auto}.payable-installment-data{grid-template-columns:1fr 1fr}}
@media print{.payable-filter-card,.payables-compact .page-head-actions,.compact-pager,.payable-card .btn{display:none!important}.payable-card-grid{grid-template-columns:repeat(3,1fr)}}


/* ===== Financeiro · Contas a Receber ===== */
.receivables-compact{gap:10px}
.receivable-filter-card{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:11px;display:grid;gap:10px}
.receivable-filter-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.receivable-filter-label{display:block;margin-bottom:5px;font-size:7px;font-weight:950;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.receivable-status-pills{display:flex;gap:6px;flex-wrap:wrap}
.receivable-status-pills button{border:1px solid var(--border);background:var(--panel2);color:var(--muted);border-radius:999px;padding:6px 10px;font-size:8px;font-weight:900;cursor:pointer}
.receivable-status-pills button:hover,.receivable-status-pills button.active{border-color:var(--red);color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--panel))}
.receivable-check{display:grid;gap:5px;font-size:8px;color:var(--muted);font-weight:850}.receivable-check>span:first-child{font-size:7px;text-transform:uppercase;letter-spacing:.06em}.receivable-check input{accent-color:var(--red)}
.receivable-filter-tools{display:grid;grid-template-columns:minmax(200px,1.35fr) 130px 125px 125px auto;gap:7px;align-items:end}
.receivable-overview-shell{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:11px;display:grid;gap:9px}.receivable-overview-shell>div:first-child{display:grid;gap:2px}.receivable-overview-shell>div:first-child>b{font-size:10px}.receivable-overview-shell>div:first-child>small{font-size:7px;color:var(--muted)}
.receivable-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.receivable-overview>div{border:1px solid var(--border);border-radius:10px;background:var(--panel2);padding:10px}.receivable-overview span{display:block;font-size:7px;color:var(--muted);font-weight:900;letter-spacing:.05em}.receivable-overview b{display:block;margin-top:4px;font-size:16px}
.receivable-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.receivable-card{min-width:0;border:1px solid var(--border);border-radius:11px;background:var(--panel);padding:10px;display:grid;gap:9px;cursor:pointer;transition:.15s ease}.receivable-card:hover{border-color:color-mix(in srgb,var(--red) 42%,var(--border));transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.08)}
.receivable-card-top{display:grid;grid-template-columns:31px minmax(0,1fr) auto;gap:8px;align-items:center}.receivable-card-icon{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,#62a8ff 12%,var(--panel2));color:#62a8ff}.receivable-card-icon svg{width:17px;height:17px}.receivable-card-top h3{font-size:9.5px;line-height:1.15;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receivable-card-top small{display:block;margin-top:2px;font-size:7px;color:var(--muted)}
.receivable-card-body{display:grid;grid-template-columns:1fr auto;gap:4px 8px;font-size:7.5px;color:var(--muted)}.receivable-card-body b{font-size:10px;color:var(--text);text-align:right}.receivable-card-body span:nth-of-type(2){text-align:right}.receivable-card>.btn{justify-self:stretch}.receivable-empty{grid-column:1/-1}
.receivable-form-head{display:flex;align-items:center;gap:11px;margin-bottom:12px;padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--panel2)}.receivable-form-head>span{width:39px;height:39px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,#62a8ff 12%,var(--panel));color:#62a8ff}.receivable-form-head svg{width:20px;height:20px}.receivable-form-head h3{margin:0 0 2px;font-size:13px}.receivable-form-head p{display:block;margin:0;font-size:7.5px;color:var(--muted)}.receivable-account-form{grid-template-columns:repeat(2,minmax(0,1fr))}.receivable-variable-disabled{opacity:.55}
.receivable-payment-layout{display:grid;grid-template-columns:145px minmax(0,1fr);gap:12px;align-items:start}.receivable-proof-panel{border:1px solid var(--border);border-radius:11px;background:var(--panel2);padding:10px;display:grid;gap:7px;align-content:start}.receivable-proof-panel>span{font-size:7px;color:var(--muted);font-weight:900;text-transform:uppercase}.receivable-proof-preview{height:118px;border:1px dashed var(--border);border-radius:9px;background:var(--panel);display:grid;place-items:center;overflow:hidden;color:var(--muted)}.receivable-proof-preview svg{width:38px;height:38px}.receivable-proof-preview img{width:100%;height:100%;object-fit:contain}.receivable-payment-fields{min-width:0}.receivable-payment-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.receivable-charge-line{margin-top:10px;padding:9px;border:1px solid color-mix(in srgb,var(--warning) 45%,var(--border));border-radius:9px;background:color-mix(in srgb,var(--warning) 6%,var(--panel));display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.receivable-charge-line span{font-size:7px;color:var(--muted)}.receivable-charge-line b{display:block;margin-top:2px;font-size:9px;color:var(--text)}
.receivable-detail-head{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}.receivable-detail-head>div{border:1px solid var(--border);border-radius:9px;background:var(--panel2);padding:8px;display:grid;gap:3px}.receivable-detail-head>div.full{grid-column:1/-1}.receivable-detail-head span{font-size:6.8px;color:var(--muted);font-weight:900;text-transform:uppercase}.receivable-detail-head b{font-size:9px}
.receivable-installment-list{display:grid;gap:7px;max-height:430px;overflow:auto;padding-right:2px}.receivable-installment{border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:9px;display:grid;gap:7px}.receivable-installment.residual{border-color:color-mix(in srgb,#62a8ff 38%,var(--border));background:color-mix(in srgb,#62a8ff 4%,var(--panel))}.receivable-installment-main{display:flex;align-items:center;justify-content:space-between;gap:8px}.receivable-installment-main>div{display:flex;align-items:center;gap:7px}.receivable-installment-main b{font-size:9px}.receivable-installment-data{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.receivable-installment-data span{font-size:7px;color:var(--muted)}.receivable-installment-data b{display:block;margin-top:2px;color:var(--text);font-size:8px}.receivable-installment-actions{display:flex;justify-content:flex-end}
.receivable-payment-detail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.receivable-payment-detail>div{padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--panel2);display:grid;gap:3px}.receivable-payment-detail>div.full{grid-column:1/-1}.receivable-payment-detail span{font-size:7px;color:var(--muted);font-weight:900;text-transform:uppercase}.receivable-payment-detail b{font-size:9px}.receivable-proof-view img{max-width:100%;max-height:260px;object-fit:contain;border-radius:8px;margin-top:5px}.receivable-payment-success{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid color-mix(in srgb,#5cab38 35%,var(--border));border-radius:10px;background:color-mix(in srgb,#5cab38 7%,var(--panel));margin-bottom:10px}.receivable-payment-success>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#5cab38;color:#fff;font-weight:950}.receivable-payment-success div{display:grid;gap:2px}.receivable-payment-success b{font-size:10px}.receivable-payment-success small{font-size:7.5px;color:var(--muted)}.receivable-charge-summary{display:flex;gap:8px;margin-bottom:10px}.receivable-charge-summary span{flex:1;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--panel2);font-size:7px;color:var(--muted)}.receivable-charge-summary b{display:block;margin-top:2px;color:var(--text);font-size:9px}
.finance-account-methods{display:grid;gap:5px;padding-top:8px;margin-top:6px;border-top:1px solid var(--border)}.finance-account-methods>span{font-size:6.8px;text-transform:uppercase;font-weight:900;color:var(--muted)}.finance-account-methods>div{display:flex;gap:4px;flex-wrap:wrap}.finance-account-methods b{font-size:6.8px;padding:3px 6px;border-radius:999px;background:var(--panel2);border:1px solid var(--border)}.finance-account-methods em{font-size:7px;color:var(--muted);font-style:normal}.financial-account-receive-methods{grid-column:1/-1;border:1px solid var(--border);border-radius:10px;background:var(--panel2);padding:10px;display:grid;gap:8px}.financial-account-receive-methods>div:first-child{display:grid;gap:3px}.financial-account-receive-methods b{font-size:9px}.financial-account-receive-methods small{font-size:7px;color:var(--muted);line-height:1.4}.financial-account-method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.financial-account-method-grid label{display:flex;align-items:center;gap:5px;padding:7px;border:1px solid var(--border);border-radius:8px;background:var(--panel);font-size:7.5px;font-weight:800}.financial-account-method-grid input{accent-color:var(--red)}
.settings-finance-params{display:grid;gap:9px}.settings-finance-help{font-size:7px;color:var(--muted);line-height:1.45;padding:8px;border-radius:8px;background:var(--panel2)}
.public-finance-receipt-proof img{max-width:100%;max-height:320px;object-fit:contain;margin-top:6px;border-radius:8px}
@media(max-width:1100px){.receivable-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.receivable-filter-tools{grid-template-columns:minmax(180px,1fr) 120px 110px 110px auto}.receivable-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.receivable-detail-head{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.receivable-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.receivable-filter-tools{grid-template-columns:1fr 1fr}.receivable-filter-tools .field:first-child{grid-column:1/-1}.receivable-detail-head{grid-template-columns:repeat(2,minmax(0,1fr))}.receivable-installment-data{grid-template-columns:repeat(2,minmax(0,1fr))}.receivable-payment-layout{grid-template-columns:1fr}.receivable-proof-panel{grid-template-columns:90px 1fr auto;align-items:center}.receivable-proof-preview{height:72px}}
@media(max-width:560px){.receivable-card-grid,.receivable-overview,.receivable-account-form,.receivable-payment-grid,.receivable-detail-head,.receivable-payment-detail,.receivable-charge-line{grid-template-columns:1fr}.receivable-filter-tools{grid-template-columns:1fr}.receivable-filter-tools .field:first-child{grid-column:auto}.receivable-installment-data{grid-template-columns:1fr 1fr}.financial-account-method-grid{grid-template-columns:1fr 1fr}.receivable-proof-panel{grid-template-columns:1fr}.receivable-proof-preview{height:110px}}

/* Cadastros, fornecedor da compra e fotos da nota */
.party-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;align-items:center}
.party-code-row .party-code-check{min-width:38px;font-size:15px;line-height:1}
.purchase-supplier-search-wrap{position:relative;min-width:0;flex:1}
.purchase-supplier-search{width:100%}
.purchase-supplier-results{position:absolute;left:0;right:0;top:calc(100% + 5px);z-index:70;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:0 18px 36px rgba(0,0,0,.28);max-height:300px;overflow:auto}
.purchase-supplier-results:empty{display:none}
.purchase-supplier-result{width:100%;border:0;border-bottom:1px solid var(--border);background:transparent;color:var(--text);padding:9px;display:grid;grid-template-columns:38px minmax(0,1fr) 16px;gap:9px;align-items:center;text-align:left;cursor:pointer}
.purchase-supplier-result:last-child{border-bottom:0}
.purchase-supplier-result:hover{background:var(--panel2)}
.purchase-supplier-avatar{width:38px;height:38px;border-radius:10px;background:var(--panel2);display:grid;place-items:center;overflow:hidden;font-size:18px}
.purchase-supplier-avatar img{width:100%;height:100%;object-fit:cover}
.purchase-supplier-copy{display:grid;gap:2px;min-width:0}
.purchase-supplier-copy b{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.purchase-supplier-copy small{font-size:7px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.purchase-supplier-result i{font-style:normal;color:var(--muted)}
.purchase-supplier-empty{padding:11px;font-size:8px;color:var(--muted);text-align:center}
.purchase-document-upload{border:1px solid var(--border);border-radius:10px;background:var(--panel2);padding:10px}
.purchase-document-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.purchase-document-toolbar small{font-size:7px;color:var(--muted)}
.purchase-document-images{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:8px}
.purchase-document-thumb{position:relative;aspect-ratio:1;border:1px solid var(--border);border-radius:9px;background:var(--panel);overflow:hidden}
.purchase-document-thumb>button:first-child{border:0;padding:0;width:100%;height:100%;background:transparent;cursor:pointer}
.purchase-document-thumb img{width:100%;height:100%;object-fit:cover}
.purchase-document-remove{position:absolute;right:4px;top:4px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(0,0,0,.68);color:#fff;font-size:15px;display:grid;place-items:center;cursor:pointer}
.purchase-document-empty{grid-column:1/-1;border:1px dashed var(--border);border-radius:8px;padding:11px;font-size:7.5px;color:var(--muted);text-align:center}
.purchase-detail-documents{display:grid;gap:8px}
.purchase-document-view-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.purchase-document-view-grid button{border:1px solid var(--border);border-radius:9px;background:var(--panel2);padding:4px;aspect-ratio:1;overflow:hidden;cursor:pointer}
.purchase-document-view-grid img{width:100%;height:100%;object-fit:cover;border-radius:6px}
@media(max-width:850px){.purchase-document-images{grid-template-columns:repeat(3,minmax(0,1fr))}.purchase-document-view-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.party-code-row{grid-template-columns:1fr auto auto}.purchase-supplier-row{align-items:stretch}.purchase-document-images,.purchase-document-view-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Conta / Caixa Gerencial — movimentações */
.finance-account-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}
.finance-account-actions .btn{min-width:0;padding-inline:8px}
.financial-account-bank-note{display:flex;gap:10px;align-items:flex-start;margin:12px 0;padding:11px 13px;border:1px solid var(--border);border-radius:12px;background:var(--panel-soft)}
.financial-account-bank-note b{white-space:nowrap}
.financial-account-bank-note span{font-size:12px;color:var(--muted);line-height:1.45}
.financial-account-movement-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.financial-account-movement-summary>div,.financial-account-transfer-head>div,.financial-account-adjust-note{border:1px solid var(--border);border-radius:12px;background:var(--panel-soft);padding:12px}
.financial-account-movement-summary span,.financial-account-transfer-head span,.financial-account-adjust-note b{display:block;font-size:10px;font-weight:900;letter-spacing:.06em;color:var(--muted)}
.financial-account-movement-summary b,.financial-account-transfer-head b,.financial-account-adjust-note span{display:block;margin-top:5px;font-size:17px;font-weight:900}
.financial-account-movement-summary small{display:block;margin-top:4px;color:var(--muted)}
.financial-account-movement-filters{border:1px solid var(--border);border-radius:14px;background:var(--panel-soft);padding:12px;margin-bottom:12px}
.financial-account-quick-filters{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.financial-account-movement-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0}
.financial-account-movement-toolbar>div{display:flex;flex-wrap:wrap;gap:7px}
.financial-account-movement-table{max-height:430px;overflow:auto;border:1px solid var(--border);border-radius:12px}
.financial-account-movement-table .table{margin:0}
.financial-account-transfer-head{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.financial-account-adjust-note{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
@media(max-width:760px){
  .finance-account-actions{grid-template-columns:1fr}
  .financial-account-movement-summary,.financial-account-transfer-head{grid-template-columns:1fr}
  .financial-account-movement-toolbar{align-items:flex-start;flex-direction:column}
}


/* Financeiro · Comissões */
.commission-page{max-width:1500px}
.commission-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0}
.commission-kpis button{appearance:none;text-align:left;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:14px;padding:14px;cursor:pointer;min-height:96px}
.commission-kpis button:hover{border-color:var(--accent)}
.commission-kpis span{display:block;font-size:10px;font-weight:900;letter-spacing:.06em;color:var(--muted)}
.commission-kpis b{display:block;font-size:22px;margin-top:7px}
.commission-kpis small{display:block;color:var(--muted);margin-top:4px}
.commission-rule-note{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--border);background:var(--panel-soft);border-radius:12px;padding:11px 13px;margin:12px 0}
.commission-rule-note b{white-space:nowrap}
.commission-rule-note span{font-size:12px;line-height:1.45;color:var(--muted)}
.commission-table td{vertical-align:middle}
.checkout-seller-field{border:1px solid var(--border);background:var(--panel-soft);border-radius:12px;padding:10px}
@media(max-width:900px){.commission-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.commission-kpis{grid-template-columns:1fr}.commission-rule-note{flex-direction:column}}


/* Financeiro · Caixas de Venda */
.cash-open-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0}
.cash-open-toolbar small{color:var(--muted)}
.cash-closed-totals{border:1px solid var(--border);border-radius:14px;background:var(--panel);margin:12px 0;overflow:hidden}
.cash-closed-totals summary{list-style:none;display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer}
.cash-closed-totals summary::-webkit-details-marker{display:none}
.cash-closed-totals-arrow{margin-left:auto}
.cash-closed-totals-body{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:0 14px 14px}
.cash-closed-totals-body>div{border:1px solid var(--border);border-radius:10px;background:var(--panel-soft);padding:10px}
.cash-closed-totals-body span{display:block;font-size:9px;font-weight:900;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}
.cash-closed-totals-body b{display:block;margin-top:4px;font-size:14px}
.cash-open-confirm{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.cash-open-confirm>div{border:1px solid var(--border);background:var(--panel-soft);border-radius:12px;padding:11px}
.cash-open-confirm span,.cash-closing-header-grid span{display:block;font-size:9px;font-weight:900;letter-spacing:.05em;color:var(--muted);text-transform:uppercase}
.cash-open-confirm b,.cash-closing-header-grid b{display:block;margin-top:5px}
.cash-closing-screen{display:flex;flex-direction:column;gap:12px}
.cash-closing-header-grid{display:grid;grid-template-columns:1.1fr 1.15fr 1.15fr .8fr .8fr;gap:8px}
.cash-closing-header-grid>div{border:1px solid var(--border);border-radius:11px;background:var(--panel-soft);padding:10px}
.cash-closing-block{border:1px solid var(--border);border-radius:13px;background:var(--panel);padding:12px}
.cash-closing-block h3{margin:0 0 2px}
.cash-closing-block>small{display:block;color:var(--muted);margin-bottom:10px}
.cash-closing-block .table-wrap{margin-top:8px}
.cash-closing-total td{font-weight:900}
.cash-closing-credit{display:flex;align-items:center;justify-content:space-between;border-radius:10px;background:var(--panel-soft);padding:10px 12px}
.cash-closing-auth{border:1px solid var(--border);border-radius:13px;background:var(--panel-soft);padding:12px}
.cash-closing-auth h3{margin:0}
.cash-closing-auth p{margin:4px 0 10px;color:var(--muted);font-size:12px}
.cash-closing-readonly{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:10px;color:var(--muted);font-size:12px}
.cash-closing-modal{max-height:68vh;overflow:auto;padding-right:2px}
@media(max-width:980px){
  .cash-closed-totals-body{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cash-closing-header-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
  .cash-open-toolbar{align-items:flex-start;flex-direction:column}
  .cash-closed-totals-body{grid-template-columns:1fr 1fr}
  .cash-open-confirm,.cash-closing-header-grid{grid-template-columns:1fr}
}


/* Financeiro · Fluxo de Caixa consolidado 2026-10-02 */
.finance-flow-summary-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-bottom:9px;
}
.finance-flow-summary-card{
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--panel);
  overflow:hidden;
}
.finance-flow-summary-head{
  padding:11px 13px 8px;
  border-bottom:1px solid var(--border);
}
.finance-flow-summary-head span,
.finance-flow-result-card span{
  display:block;
  font-size:8px;
  font-weight:900;
  letter-spacing:.06em;
  color:var(--muted);
}
.finance-flow-summary-head h3{
  margin:3px 0 0;
  font-size:13px;
}
.finance-flow-summary-list>div{
  min-height:37px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:8px 13px;
  border-bottom:1px solid var(--border);
}
.finance-flow-summary-list span{
  color:var(--muted);
  font-size:9px;
}
.finance-flow-summary-list b{
  font-size:10px;
}
.finance-flow-summary-total{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  padding:9px 13px;
  background:var(--panel-soft);
}
.finance-flow-summary-total span{
  font-size:8px;
  font-weight:900;
  letter-spacing:.04em;
}
.finance-flow-summary-total b{
  min-width:92px;
  text-align:right;
  font-size:12px;
}
.finance-flow-result-card{
  min-height:62px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--panel-soft);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:11px 14px;
  margin-bottom:9px;
}
.finance-flow-result-card small{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:8px;
}
.finance-flow-result-card>b{
  font-size:18px;
}
.finance-flow-detail-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 11px;
  border:1px solid var(--border);
  border-bottom:0;
  border-radius:12px 12px 0 0;
  background:var(--panel);
}
.finance-flow-detail-head h3{
  margin:0;
  font-size:11px;
}
.finance-flow-detail-head small{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:8px;
}
@media(max-width:900px){
  .finance-flow-summary-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .finance-flow-result-card{align-items:flex-start;flex-direction:column}
}


/* Financeiro · Tipos de Despesa simplificado 2026-10-02 */
.expense-type-form-compact{
  display:grid;
  grid-template-columns:minmax(0,1fr) 170px;
  gap:12px;
  align-items:end;
}
.expense-type-status-field{
  min-width:0;
}
.expense-type-status-switch{
  min-height:38px;
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  user-select:none;
}
.expense-type-status-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.expense-type-toggle{
  width:42px;
  height:23px;
  padding:2px;
  border-radius:999px;
  border:1px solid var(--border);
  background:var(--panel2);
  transition:.18s ease;
}
.expense-type-toggle:after{
  content:"";
  display:block;
  width:17px;
  height:17px;
  border-radius:50%;
  background:var(--muted);
  transition:.18s ease;
}
.expense-type-status-switch input:checked+.expense-type-toggle{
  border-color:var(--red);
  background:color-mix(in srgb,var(--red) 18%,var(--panel));
}
.expense-type-status-switch input:checked+.expense-type-toggle:after{
  transform:translateX(17px);
  background:var(--red);
}
.expense-type-status-switch b{
  font-size:9px;
}
.expense-type-card{
  min-height:68px;
}
.expense-type-card-main{
  min-width:0;
}
.expense-type-card-actions{
  display:flex;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
}
.expense-type-empty{
  grid-column:1/-1;
}
@media(max-width:620px){
  .expense-type-form-compact{grid-template-columns:1fr}
  .expense-type-card{align-items:flex-start!important;flex-direction:column}
  .expense-type-card-actions{width:100%;justify-content:space-between}
}


/* Financeiro · Formas de Pagamento 2026-10-02 */
.payment-methods-page{display:grid;gap:12px}.payment-method-filter{padding:12px}.payment-method-filter-grid{grid-template-columns:1fr 1fr}.payment-method-filter-usage{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:8px;font-size:9px}.payment-method-filter-usage>span{color:var(--muted);font-weight:900}.payment-method-filter-usage label{display:flex;align-items:center;gap:5px}.payment-method-filter-usage input{accent-color:var(--red)}.payment-method-filter-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.payment-method-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payment-method-card{position:relative;border:1px solid var(--border);background:var(--panel);border-radius:13px;padding:12px;display:grid;gap:12px;min-height:130px}.payment-method-card.inactive{opacity:.62}.payment-method-card-head{position:relative;display:flex;align-items:center;gap:10px}.payment-method-card-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--panel2);overflow:hidden;color:var(--red)}.payment-method-card-icon img{width:100%;height:100%;object-fit:cover}.payment-method-card-icon svg{width:20px;height:20px}.payment-method-card h3{margin:0 0 3px;font-size:13px}.payment-method-card small{color:var(--muted);font-size:8px}.payment-method-card-menu{top:38px!important;right:0!important;z-index:50}.payment-method-card-flags{display:flex;gap:9px;flex-wrap:wrap;font-size:8px;color:var(--muted)}.payment-method-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--border);padding-top:9px}.payment-method-card-foot>span{font-size:8px;color:var(--muted)}.payment-method-add-wrap{position:sticky;bottom:8px;display:flex;justify-content:flex-end;pointer-events:none}.payment-method-add-wrap .btn{pointer-events:auto;box-shadow:0 8px 28px rgba(0,0,0,.18)}
.payment-method-form{display:grid;gap:12px}.payment-method-main{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:start}.payment-method-image{display:grid;gap:7px}.payment-method-image>div{height:100px;border:1px dashed var(--border);border-radius:12px;background:var(--panel2);display:grid;place-items:center;overflow:hidden}.payment-method-image img{width:100%;height:100%;object-fit:cover}.payment-method-image svg{width:30px;height:30px}.payment-method-section{border:1px solid var(--border);border-radius:12px;background:var(--panel);padding:12px}.payment-method-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.payment-method-section-title>b,.payment-method-section-title>div>b{font-size:11px}.payment-method-section-title small{display:block;color:var(--muted);font-size:8px;margin-top:3px}.payment-method-usage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.payment-method-usage-grid label{border:1px solid var(--border);border-radius:10px;background:var(--panel2);padding:10px;font-size:9px;display:flex;align-items:center;gap:7px}.payment-method-usage-grid input{accent-color:var(--red)}.payment-method-characteristics{grid-template-columns:1fr 1fr}.payment-method-switch-field{min-height:72px}.payment-max-installments{width:110px}.payment-installment-table{display:grid;gap:5px}.payment-installment-head,.payment-installment-row{display:grid;grid-template-columns:90px 150px minmax(180px,1fr);gap:8px;align-items:center}.payment-installment-head{font-size:8px;color:var(--muted);font-weight:900;padding:0 8px}.payment-installment-row{padding:6px 8px;border:1px solid var(--border);border-radius:9px;background:var(--panel2)}.payment-installment-row b{font-size:9px}.payment-pix-test{text-align:center;display:grid;gap:8px;place-items:center}.payment-pix-test img{width:220px;max-width:100%}.payment-pix-test small{color:var(--muted)}
@media(max-width:900px){.payment-method-card-grid{grid-template-columns:1fr 1fr}.payment-method-usage-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.payment-method-card-grid,.payment-method-filter-grid,.payment-method-main,.payment-method-characteristics,.payment-method-usage-grid{grid-template-columns:1fr}.payment-method-filter-actions{flex-direction:column}.payment-method-filter-actions .btn{width:100%}.payment-installment-head{display:none}.payment-installment-row{grid-template-columns:1fr}.payment-method-add-wrap{position:static}.payment-method-add-wrap .btn{width:100%}}


/* finance-clarity-20261002 */
.finance-overview-page,.finance-result-page,.graph-reports-page{display:grid;gap:14px}
.finance-understand-note{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--info) 35%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--info) 7%,var(--panel));font-size:11px}
.finance-understand-note b{white-space:nowrap}.finance-understand-note span{color:var(--muted)}
.finance-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.finance-health-grid>button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:13px;padding:13px;text-align:left;display:grid;gap:5px;min-height:105px;transition:.15s}
.finance-health-grid>button:hover{border-color:color-mix(in srgb,var(--red) 55%,var(--border));transform:translateY(-1px)}
.finance-health-grid span,.finance-period-grid span,.dre-kpis span,.graph-summary-line span{font-size:8px;font-weight:900;letter-spacing:.06em;color:var(--muted)}
.finance-health-grid b{font-size:22px}.finance-health-grid small,.finance-period-grid small,.dre-kpis small{font-size:9px;color:var(--muted);line-height:1.35}
.finance-period-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.finance-period-grid article{border:1px solid var(--border);background:var(--panel2);border-radius:12px;padding:12px;display:grid;gap:4px}
.finance-period-grid b{font-size:18px}
.finance-money-map{border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:13px}
.finance-money-map .card-title{margin-bottom:10px}.finance-money-map .card-title p{margin:3px 0 0;color:var(--muted);font-size:10px}
.finance-money-map-flow{display:flex;align-items:stretch;gap:7px}.finance-money-map-flow+.finance-money-map-flow{margin-top:7px}
.finance-money-map-flow button{flex:1;border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:10px;padding:9px 10px;text-align:left;display:grid;gap:3px;min-height:58px}
.finance-money-map-flow button:hover{border-color:var(--red)}.finance-money-map-flow button b{font-size:9px}.finance-money-map-flow button small{font-size:8px;color:var(--muted)}
.finance-money-map-flow>i{align-self:center;color:var(--muted);font-style:normal;font-weight:900}.finance-money-map-flow.out button:first-child{border-left:3px solid var(--danger)}
.finance-attention-card{border:1px solid color-mix(in srgb,var(--warning) 48%,var(--border));background:color-mix(in srgb,var(--warning) 7%,var(--panel));border-radius:12px;padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.finance-attention-card div{display:grid;gap:3px}.finance-attention-card b{font-size:10px}.finance-attention-card span{font-size:9px;color:var(--muted)}
.finance-overview-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.finance-overview-panel{border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:12px;min-width:0}
.finance-overview-panel .card-title{margin-bottom:8px}.finance-overview-panel .card-title p{margin:3px 0 0;font-size:9px;color:var(--muted)}
.finance-due-list,.finance-recent-list{display:grid;gap:5px}
.finance-due-list>button{border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:9px;padding:8px;display:grid;grid-template-columns:46px minmax(0,1fr) auto auto;gap:8px;align-items:center;text-align:left}
.finance-due-list>button:hover{border-color:var(--red)}.finance-due-list>button div{display:grid;gap:2px;min-width:0}.finance-due-list>button div b{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-due-list>button small{font-size:8px;color:var(--muted)}.finance-due-list strong{font-size:10px}.finance-due-list em{font-style:normal;font-size:7px}
.finance-due-dir{font-size:7px;font-weight:900;text-align:center;border-radius:6px;padding:5px 3px}.finance-due-dir.in{background:color-mix(in srgb,var(--success) 13%,transparent);color:var(--success)}.finance-due-dir.out{background:color-mix(in srgb,var(--danger) 13%,transparent);color:var(--danger)}
.finance-recent-list>div{display:grid;grid-template-columns:9px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 2px;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent)}.finance-recent-list>div:last-child{border-bottom:0}.finance-recent-list>div>div{display:grid;gap:2px;min-width:0}.finance-recent-list b{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.finance-recent-list small{font-size:8px;color:var(--muted)}.finance-recent-list strong{font-size:10px}
.finance-flow-dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}.finance-flow-dot.in{background:var(--success)}.finance-flow-dot.out{background:var(--danger)}
.finance-concepts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.finance-concepts>div{border:1px solid var(--border);border-radius:10px;padding:9px;background:var(--panel2);display:grid;gap:3px}.finance-concepts b{font-size:9px}.finance-concepts span{font-size:8px;color:var(--muted);line-height:1.35}

.dre-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:10px}.dre-kpis article{border:1px solid var(--border);background:var(--panel);border-radius:12px;padding:12px;display:grid;gap:4px}.dre-kpis b{font-size:19px}.dre-result-kpi{border-color:color-mix(in srgb,var(--success) 35%,var(--border))!important}
.dre-statement{border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:13px}.dre-row{display:flex;justify-content:space-between;gap:12px;padding:9px 5px;border-bottom:1px solid color-mix(in srgb,var(--border) 72%,transparent);font-size:10px}.dre-row:last-child{border-bottom:0}.dre-row.minus b{color:var(--danger)}.dre-row.plus b{color:var(--success)}.dre-row.subtotal{font-weight:900;background:var(--panel2);margin:2px 0;border-radius:7px;padding:9px}.dre-row.result{font-weight:900;font-size:12px;border-top:2px solid var(--border);margin-top:5px;padding-top:12px}
.dre-explain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dre-explain-grid article{border:1px solid var(--border);background:var(--panel2);border-radius:10px;padding:10px;display:grid;gap:4px}.dre-explain-grid b{font-size:9px}.dre-explain-grid span{font-size:8px;color:var(--muted);line-height:1.4}.dre-explain-grid .btn{justify-self:start;margin-top:4px}

.graph-report-tabs{display:flex;gap:6px;border-bottom:1px solid var(--border);padding-bottom:7px}.graph-report-tabs button{border:0;background:transparent;color:var(--muted);font-size:10px;font-weight:900;padding:8px 12px;border-radius:8px}.graph-report-tabs button.active{background:var(--red);color:#fff}
.graph-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.graph-report-card{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:13px;padding:12px;text-align:left;display:grid;grid-template-columns:36px 1fr auto;gap:10px;align-items:center;min-height:92px}.graph-report-card:hover{border-color:var(--red);transform:translateY(-1px)}.graph-report-card-icon{width:34px;height:34px;border-radius:9px;background:color-mix(in srgb,var(--red) 12%,var(--panel2));display:grid;place-items:center;color:var(--red)}.graph-report-card-icon svg{width:19px;height:19px}.graph-report-card h3{font-size:10px;margin:0 0 4px}.graph-report-card p{font-size:8px;line-height:1.4;color:var(--muted);margin:0}.graph-report-card>i{font-style:normal;font-size:8px;color:var(--red);font-weight:900}
.graph-detail-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.graph-detail-head h1{font-size:19px;margin:0}.graph-detail-head p{font-size:9px;color:var(--muted);margin:3px 0 0}
.graph-filter-grid{grid-template-columns:repeat(5,minmax(130px,1fr));align-items:end}.graph-quick-buttons{grid-column:1/-1}.graph-filter-actions{display:flex;gap:7px;align-items:center;margin-top:9px}.graph-mode-switch{margin-left:auto;display:flex;gap:5px}.graph-mode-switch .active{border-color:var(--red);color:var(--red)}
.graph-result-card{border:1px solid var(--border);background:var(--panel);border-radius:14px;padding:14px;min-height:310px}
.graph-summary-line{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.graph-summary-line>div{border:1px solid var(--border);background:var(--panel2);border-radius:9px;padding:9px;display:grid;gap:3px}.graph-summary-line b{font-size:11px}
.finance-donut-wrap{display:grid;grid-template-columns:250px 1fr;gap:22px;align-items:center;min-height:300px}.finance-donut{width:220px;aspect-ratio:1;border-radius:50%;position:relative;display:grid;place-items:center}.finance-donut:after{content:"";position:absolute;width:58%;aspect-ratio:1;border-radius:50%;background:var(--panel)}.finance-donut>span{position:relative;z-index:1;display:grid;text-align:center}.finance-donut>span b{font-size:21px}.finance-donut>span small{font-size:8px;color:var(--muted)}
.finance-donut-legend{display:grid;gap:6px}.finance-donut-legend>div{display:grid;grid-template-columns:9px minmax(0,1fr) 60px 88px;gap:7px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent);padding:6px 2px}.finance-donut-legend i{width:8px;height:8px;border-radius:50%}.finance-donut-legend span{font-size:9px}.finance-donut-legend b{font-size:9px;text-align:right}.finance-donut-legend small{font-size:8px;text-align:right;color:var(--muted)}
.finance-bars{display:grid;gap:8px}.finance-bar-row{display:grid;grid-template-columns:210px minmax(140px,1fr) 100px;gap:10px;align-items:center}.finance-bar-row>div:first-child{display:grid;gap:2px}.finance-bar-row b{font-size:9px}.finance-bar-row span{font-size:8px;color:var(--muted)}.finance-bar-row strong{font-size:9px;text-align:right}.finance-bar-track{height:10px;background:var(--panel3);border-radius:999px;overflow:hidden}.finance-bar-track i{display:block;height:100%;border-radius:999px;background:var(--red)}
.finance-line-chart{min-height:280px;display:grid;grid-template-rows:250px auto;gap:6px;overflow:hidden}.finance-line-chart svg{width:100%;height:250px;overflow:visible}.finance-line-chart .axis{stroke:var(--border);stroke-width:2}.finance-line-chart .main-line{fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.finance-line-chart .compare-line{fill:none;stroke:var(--info);stroke-width:3;stroke-dasharray:9 7}.finance-line-labels{display:flex;justify-content:space-between;gap:3px;overflow:auto}.finance-line-labels span{font-size:7px;color:var(--muted);white-space:nowrap}
.finance-trend-bars{height:300px;display:flex;align-items:stretch;gap:7px;overflow-x:auto;padding:10px 3px}.finance-trend-column{min-width:60px;flex:1;display:grid;grid-template-rows:1fr auto auto;gap:4px;text-align:center}.finance-trend-stick{min-height:210px;display:flex;align-items:flex-end;justify-content:center;gap:3px;border-bottom:1px solid var(--border)}.finance-trend-stick i,.finance-trend-stick em{width:13px;min-height:2px;border-radius:4px 4px 0 0;background:var(--red);display:block}.finance-trend-stick em{background:var(--info);opacity:.72}.finance-trend-column b{font-size:8px}.finance-trend-column small{font-size:7px;color:var(--muted)}
.graph-metric-bars{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.graph-metric-bars article{border:1px solid var(--border);background:var(--panel2);border-radius:10px;padding:10px;display:grid;gap:8px}.graph-metric-bars article>div:first-child{display:flex;justify-content:space-between;gap:10px}.graph-metric-bars span{font-size:9px;color:var(--muted);font-weight:800}.graph-metric-bars b{font-size:11px}.graph-metric-bars article>div:last-child{height:7px;border-radius:999px;background:var(--panel3);overflow:hidden}.graph-metric-bars i{display:block;height:100%;background:var(--red);border-radius:999px}
.abc-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.abc-summary>div{border:1px solid var(--border);border-radius:10px;padding:9px;background:var(--panel2);display:flex;align-items:center;gap:8px}.abc-summary b{font-size:15px;color:var(--red)}.abc-summary span{font-size:8px;color:var(--muted)}
.abc-table{display:grid;max-height:520px;overflow:auto}.abc-table>div{display:grid;grid-template-columns:minmax(180px,1.4fr) 70px 100px 100px 120px;gap:8px;align-items:center;padding:8px;border-bottom:1px solid var(--border);font-size:9px}.abc-head{position:sticky;top:0;background:var(--panel);z-index:1;color:var(--muted);font-weight:900}.abc-tag{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:900}.abc-a{background:color-mix(in srgb,var(--success) 16%,transparent);color:var(--success)}.abc-b{background:color-mix(in srgb,var(--warning) 16%,transparent);color:var(--warning)}.abc-c{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}

@media(max-width:1100px){
  .finance-health-grid,.dre-kpis{grid-template-columns:repeat(2,1fr)}
  .graph-report-grid{grid-template-columns:repeat(2,1fr)}
  .graph-filter-grid{grid-template-columns:repeat(3,1fr)}
  .finance-money-map-flow{flex-wrap:wrap}.finance-money-map-flow button{min-width:170px}.finance-money-map-flow>i{display:none}
}
@media(max-width:760px){
  .finance-health-grid,.finance-period-grid,.finance-overview-split,.finance-concepts,.dre-kpis,.dre-explain-grid,.graph-report-grid,.graph-summary-line,.graph-metric-bars{grid-template-columns:1fr}
  .finance-understand-note,.finance-attention-card{align-items:flex-start;flex-direction:column}
  .finance-due-list>button{grid-template-columns:44px minmax(0,1fr) auto}.finance-due-list>button em{grid-column:2/-1;justify-self:start}
  .finance-money-map-flow{display:grid;grid-template-columns:1fr}.finance-money-map-flow button{min-width:0}
  .graph-filter-grid{grid-template-columns:1fr}.graph-filter-actions{flex-wrap:wrap}.graph-mode-switch{margin-left:0}
  .finance-donut-wrap{grid-template-columns:1fr}.finance-donut{width:190px;justify-self:center}
  .finance-bar-row{grid-template-columns:1fr}.finance-bar-row strong{text-align:left}
  .abc-table>div{grid-template-columns:minmax(150px,1fr) 55px 75px 90px 95px;min-width:520px}
}
@media print{
  .sidebar,.topbar,.page-head .btn,.compact-filter-panel,.graph-detail-head .btn,.finance-attention-card .btn{display:none!important}
  .main,.main.full{margin:0!important}.content{padding:0!important}.finance-page,.graph-reports-page{display:block!important}
}

/* Financeiro — rastreabilidade e leitura gerencial */
.finance-flow-table [data-flow-open]{padding:5px 8px!important;font-size:7px!important;white-space:nowrap}
.dre-statement+.dre-statement{margin-top:10px}
.dre-statement .dre-row.minus span{color:var(--text)}
@media(max-width:620px){
  .finance-period-grid,.dre-kpis{grid-template-columns:1fr!important}
}


/* ===== Financeiro 07/10 — calendário compacto, resumo diário e detalhe sob demanda ===== */
.pf-calendar-popover{position:fixed;z-index:10050;width:276px;padding:10px 11px 8px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:0 18px 45px rgba(0,0,0,.28);color:var(--text)}
.pf-cal-head{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;gap:4px;margin-bottom:6px}
.pf-cal-head>div{text-align:center;display:flex;justify-content:center;gap:7px;align-items:baseline}.pf-cal-head b{font-size:12px}.pf-cal-head span{font-size:11px;color:var(--muted);font-weight:800}
.pf-cal-arrow{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--text);font-size:20px;cursor:pointer}.pf-cal-arrow:hover{background:color-mix(in srgb,var(--red) 13%,var(--panel2));color:var(--red)}
.pf-cal-week,.pf-cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;text-align:center}.pf-cal-week span{height:26px;display:grid;place-items:center;font-size:9px;font-weight:900;color:var(--muted)}
.pf-cal-days button{aspect-ratio:1/1;width:100%;max-width:32px;justify-self:center;border:0;border-radius:50%;background:transparent;color:var(--text);font:inherit;font-size:10px;font-weight:750;cursor:pointer;padding:0}
.pf-cal-days button:hover{background:color-mix(in srgb,var(--red) 12%,var(--panel2))}.pf-cal-days button.other{color:color-mix(in srgb,var(--muted) 45%,transparent)}.pf-cal-days button.today{outline:1px solid var(--red);outline-offset:-2px;color:var(--red)}.pf-cal-days button.selected{background:var(--red);color:#fff;outline:none}
.pf-cal-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);margin-top:7px;padding-top:7px}.pf-cal-foot button{border:0;background:transparent;color:var(--red);font-size:10px;font-weight:900;cursor:pointer;padding:5px 3px}
.pf-date-shell{display:block;position:relative}.pf-system-date{padding-right:38px!important}.pf-date-hit{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;background:transparent;color:var(--muted);cursor:pointer}.pf-date-hit:hover{color:var(--red)}
.brand-calendar,.pf-calendar-modal{max-width:290px!important;min-width:0!important}.brand-cal-hero{display:none!important}.brand-cal-days button,.brand-cal-days .empty{height:32px!important}
.finance-flow-searchbar,.financial-account-filter-actions{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:10px}.finance-flow-searchbar>div:last-child,.financial-account-filter-actions>div:last-child{display:flex;gap:7px}
.finance-flow-searchbar .quick-periods button,.financial-account-filter-actions .quick-periods button{padding:6px 10px}
.finance-flow-daily,.finance-flow-detail-panel{border:1px solid var(--border);border-radius:12px;background:var(--panel);overflow:hidden;margin-top:10px}.finance-flow-daily .table th,.finance-flow-daily .table td{padding:9px 10px!important;font-size:9px!important}.finance-flow-detail-panel{scroll-margin-top:82px}
.finance-entry-detail{display:grid;gap:12px}.finance-entry-detail-value{padding:13px;border:1px solid var(--border);border-radius:12px;background:var(--panel2);display:grid;gap:4px}.finance-entry-detail-value span,.finance-entry-detail-grid span,.finance-entry-detail-notes span{font-size:8px;font-weight:900;color:var(--muted);letter-spacing:.05em}.finance-entry-detail-value b{font-size:24px}
.finance-entry-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.finance-entry-detail-grid>div,.finance-entry-detail-notes{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);display:grid;gap:4px}.finance-entry-detail-grid b{font-size:11px}.finance-entry-detail-notes small{color:var(--muted);line-height:1.45;margin-top:4px}
@media(max-width:760px){.pf-calendar-popover{width:min(276px,calc(100vw - 20px))}.finance-entry-detail-grid{grid-template-columns:1fr}.finance-flow-searchbar,.financial-account-filter-actions{align-items:stretch}.finance-flow-searchbar>div:last-child,.financial-account-filter-actions>div:last-child{width:100%}.finance-flow-searchbar>div:last-child .btn,.financial-account-filter-actions>div:last-child .btn{flex:1}}


/* ===== Fluxo de caixa · resumo, relatórios e impressão ===== */
.finance-flow-summary{border:1px solid var(--border);border-radius:12px;background:var(--panel);overflow:hidden;margin-top:10px}
.finance-flow-summary-table th:first-child{width:78%}.finance-flow-summary-table th:last-child,.finance-flow-summary-table td:last-child{text-align:right}
.finance-flow-summary-table th,.finance-flow-summary-table td{padding:8px 10px!important;font-size:9px!important}
.finance-flow-summary-table .flow-summary-group td{font-weight:900;font-size:10px!important;letter-spacing:.01em}
.finance-flow-summary-table .flow-summary-group.entry td,.finance-flow-summary-table .flow-summary-total.entry td{background:color-mix(in srgb,var(--info) 9%,var(--panel))}
.finance-flow-summary-table .flow-summary-group.out td,.finance-flow-summary-table .flow-summary-total.out td{background:color-mix(in srgb,var(--red) 9%,var(--panel))}
.finance-flow-summary-table .flow-summary-group.out td{color:var(--red)}.finance-flow-summary-table .flow-summary-group.result td{background:var(--panel2)}
.finance-flow-summary-table .flow-summary-total td{font-weight:900}.finance-flow-summary-table .flow-summary-grand td{background:color-mix(in srgb,var(--success) 9%,var(--panel));font-weight:900;font-size:11px!important}
.finance-flow-footer-actions{position:sticky;bottom:0;z-index:20;display:flex;justify-content:flex-end;gap:8px;padding:10px 0 6px;margin-top:4px;background:linear-gradient(180deg,transparent 0%,var(--bg) 36%)}
.finance-flow-reports-wrap{position:relative}.finance-flow-report-menu{display:none;position:absolute;right:0;bottom:calc(100% + 7px);min-width:250px;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:var(--shadow);z-index:70}
.finance-flow-report-menu.open{display:grid}.finance-flow-report-menu button{border:0;border-radius:8px;background:transparent;color:var(--text);padding:9px 10px;text-align:left;font:inherit;font-size:10px;cursor:pointer}.finance-flow-report-menu button:hover{background:var(--panel3);color:var(--red)}
.finance-flow-report-back{display:flex;align-items:center;gap:10px;margin-bottom:10px}.finance-flow-report-back .btn{width:38px;height:34px;padding:0}.finance-flow-report-back h1{margin:0;font-size:20px}.finance-flow-report-back p{margin:3px 0 0;color:var(--muted);font-size:10px}
.finance-flow-report-filter .compact-filter-grid{grid-template-columns:1fr 1fr!important}.finance-flow-report-card{border:1px solid var(--border);border-radius:12px;background:var(--panel);overflow:hidden;margin-top:10px}
.finance-flow-report-titlebar{min-height:54px;padding:9px 12px;display:flex;justify-content:space-between;align-items:center;gap:10px;background:linear-gradient(90deg,color-mix(in srgb,var(--red) 78%,#111),color-mix(in srgb,var(--red) 40%,var(--panel)));color:#fff}
.finance-flow-report-titlebar>div:first-child{display:grid;gap:2px}.finance-flow-report-titlebar b{font-size:10px}.finance-flow-report-titlebar span{font-size:8px;font-weight:800}
.finance-flow-page-size{position:relative}.finance-flow-page-size>button{width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.5);background:rgba(255,255,255,.08);color:#fff;font-weight:900;cursor:pointer}
.finance-flow-page-size-menu{display:none;position:absolute;right:0;top:calc(100% + 7px);min-width:150px;padding:5px;border:1px solid var(--border);border-radius:9px;background:var(--panel);box-shadow:var(--shadow);z-index:80}
.finance-flow-page-size-menu.open{display:grid}.finance-flow-page-size-menu button{border:0;background:transparent;color:var(--text);padding:8px 9px;text-align:left;border-radius:7px;font-size:10px;cursor:pointer}.finance-flow-page-size-menu button:hover{background:var(--panel3);color:var(--red)}
.finance-flow-report-table th,.finance-flow-report-table td{padding:7px 9px!important;font-size:9px!important;vertical-align:top}.finance-flow-report-table th:nth-child(1){width:18%}.finance-flow-report-table th:nth-child(2){width:52%}.finance-flow-report-table th:nth-child(3),.finance-flow-report-table th:nth-child(4){width:15%;text-align:right}
.finance-flow-report-table td:nth-child(3),.finance-flow-report-table td:nth-child(4){text-align:right;font-weight:800}.finance-flow-report-table td small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.finance-flow-report-table tr.internal{opacity:.7}
.finance-flow-report-pager{min-height:46px;padding:7px 10px;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}.finance-flow-report-pager>span{font-size:9px;color:var(--muted)}.finance-flow-report-pager>div{display:flex;align-items:center;gap:4px}
.finance-flow-report-pager>div button,.finance-flow-report-pager>div b{min-width:27px;height:27px;border:1px solid var(--border);border-radius:7px;background:var(--panel2);color:var(--text);display:grid;place-items:center;font-size:10px;font-weight:900}.finance-flow-report-pager>div button{cursor:pointer}.finance-flow-report-pager>div button:disabled{opacity:.35;cursor:default}.finance-flow-report-pager>div b{background:var(--red);color:#fff;border-color:var(--red)}.finance-flow-report-pager>.btn{justify-self:end}
@media(max-width:700px){.finance-flow-report-filter .compact-filter-grid{grid-template-columns:1fr!important}.finance-flow-report-pager{grid-template-columns:1fr;justify-items:center}.finance-flow-report-pager>span,.finance-flow-report-pager>.btn{justify-self:center}.finance-flow-footer-actions{position:static}}


/* ===== Hotfix 07/10 · calendário próprio + filtro do fluxo ===== */
.finance-flow-filter-grid .finance-flow-scope-field{
  grid-column:span 2!important;
  min-width:230px!important;
}
.finance-flow-filter-grid .finance-flow-scope-field .select{
  width:100%!important;
  min-width:230px!important;
  padding-right:32px!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
}
.pf-date-shell{
  position:relative!important;
  display:block!important;
  width:100%!important;
  isolation:isolate!important;
}
.pf-date-shell>.pf-system-date{
  width:100%!important;
  padding-right:40px!important;
  pointer-events:none!important;
  cursor:pointer!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.pf-date-shell>.pf-system-date::-webkit-calendar-picker-indicator{
  display:none!important;
  opacity:0!important;
  pointer-events:none!important;
  width:0!important;
  height:0!important;
}
.pf-date-shell>.pf-system-date::-webkit-inner-spin-button{
  display:none!important;
}
.pf-date-hit{
  position:absolute!important;
  inset:0!important;
  z-index:5!important;
  width:100%!important;
  height:100%!important;
  transform:none!important;
  border:0!important;
  border-radius:10px!important;
  background:transparent!important;
  color:transparent!important;
  cursor:pointer!important;
}
.pf-date-hit .pf-date-icon{
  position:absolute!important;
  right:10px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:16px!important;
  height:16px!important;
  display:grid!important;
  place-items:center!important;
  color:var(--muted)!important;
  pointer-events:none!important;
}
.pf-date-hit .pf-date-icon svg{
  width:15px!important;
  height:15px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
.pf-date-hit:hover .pf-date-icon,
.pf-date-hit:focus-visible .pf-date-icon{
  color:var(--red)!important;
}
.pf-calendar-popover{
  width:292px!important;
  max-width:calc(100vw - 20px)!important;
  padding:12px!important;
  border-radius:14px!important;
}
.pf-cal-head{
  grid-template-columns:34px 1fr 34px!important;
  min-height:36px!important;
  margin-bottom:7px!important;
}
.pf-cal-head>div{
  display:grid!important;
  grid-template-columns:auto auto!important;
  justify-content:center!important;
  align-items:baseline!important;
  column-gap:6px!important;
}
.pf-cal-head b{font-size:12px!important}
.pf-cal-head span{font-size:10px!important}
.pf-cal-week,.pf-cal-days{
  grid-template-columns:repeat(7,1fr)!important;
  gap:3px!important;
}
.pf-cal-week span{
  width:34px!important;
  height:26px!important;
  justify-self:center!important;
}
.pf-cal-days button{
  width:34px!important;
  height:34px!important;
  max-width:none!important;
  aspect-ratio:auto!important;
  display:grid!important;
  place-items:center!important;
  justify-self:center!important;
  padding:0!important;
  line-height:1!important;
}
.pf-cal-days button.other{
  opacity:.38!important;
  color:var(--muted)!important;
}
.pf-cal-days button.today:not(.selected){
  outline:1px solid var(--red)!important;
  outline-offset:-2px!important;
  color:var(--red)!important;
}
.pf-cal-days button.selected{
  background:var(--red)!important;
  color:#fff!important;
  outline:none!important;
}
@media(max-width:980px){
  .finance-flow-filter-grid .finance-flow-scope-field{
    grid-column:span 1!important;
    min-width:0!important;
  }
  .finance-flow-filter-grid .finance-flow-scope-field .select{
    min-width:0!important;
  }
}


/* ===== Fluxo 07/10 · períodos rápidos ativos ===== */
.finance-flow-searchbar .quick-periods button.active{
  background:var(--red)!important;
  border-color:var(--red)!important;
  color:#fff!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--red) 35%,transparent)!important;
}
.finance-flow-searchbar .quick-periods button.active:hover{
  background:var(--red)!important;
  color:#fff!important;
}


/* ===== O.S. 07/10 · painel geral e modal de aparelho refinados ===== */
.os-general-card{
  padding:0!important;
  overflow:hidden;
  border-color:color-mix(in srgb,var(--red) 16%,var(--border))!important;
}
.os-general-head{
  margin:0!important;
  padding:16px 18px;
  border-bottom:1px solid var(--border);
  background:
    radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--red) 10%,transparent),transparent 35%),
    linear-gradient(180deg,color-mix(in srgb,var(--panel2) 75%,var(--panel)),var(--panel));
}
.os-general-heading{display:grid;gap:3px;min-width:0}
.os-general-heading h2{margin:0!important;font-size:19px!important}
.os-general-heading p{margin:0;color:var(--muted);font-size:10px;line-height:1.4}
.os-general-kicker{
  display:block;
  color:var(--red);
  font-size:8px;
  font-weight:950;
  letter-spacing:.09em;
  margin-bottom:2px;
}
.os-general-head-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.os-general-state{
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 9px;
  border:1px solid var(--border);
  border-radius:999px;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
  transition:.18s ease;
}
.os-general-state.saved{
  color:var(--success);
  background:color-mix(in srgb,var(--success) 7%,var(--panel));
  border-color:color-mix(in srgb,var(--success) 30%,var(--border));
}
.os-general-state.dirty{
  color:var(--warning);
  background:color-mix(in srgb,var(--warning) 8%,var(--panel));
  border-color:color-mix(in srgb,var(--warning) 35%,var(--border));
}
.os-photo-btn{
  min-height:42px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  border:1px solid color-mix(in srgb,var(--red) 35%,var(--border))!important;
  background:color-mix(in srgb,var(--red) 8%,var(--panel2))!important;
  color:var(--text)!important;
  padding:7px 11px!important;
  border-radius:11px!important;
  transition:transform .16s ease,border-color .16s ease,background .16s ease!important;
}
.os-photo-btn:hover{
  transform:translateY(-1px);
  border-color:var(--red)!important;
  background:color-mix(in srgb,var(--red) 13%,var(--panel2))!important;
}
.os-photo-btn .os-photo-icon{font-size:15px}
.os-photo-btn>span:last-child{display:grid;text-align:left;gap:1px}
.os-photo-btn b{font-size:9px;line-height:1}
.os-photo-btn small{font-size:7px;color:var(--muted);font-weight:700}
.os-general-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:14px 18px 6px;
}
.os-general-field-card{
  min-width:0;
  padding:11px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel2);
  transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease;
}
.os-general-field-card:hover{
  border-color:color-mix(in srgb,var(--red) 25%,var(--border));
}
.os-general-field-card:focus-within{
  border-color:var(--red);
  background:color-mix(in srgb,var(--red) 3%,var(--panel2));
  box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 9%,transparent);
  transform:translateY(-1px);
}
.os-general-field-card.status{
  border-left:3px solid var(--warning);
}
.os-general-field-card.notes{
  grid-column:1/-1;
}
.os-general-field-title{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-bottom:8px;
  min-width:0;
}
.os-general-field-title>span{
  width:25px;height:25px;flex:0 0 25px;
  display:grid;place-items:center;
  border-radius:8px;
  background:var(--panel3);
  border:1px solid var(--border);
  color:var(--red);
  font-size:11px;
  font-weight:950;
}
.os-general-field-title>div{display:grid;gap:2px;min-width:0}
.os-general-field-title b{font-size:10px}
.os-general-field-title small{font-size:8px;color:var(--muted);line-height:1.3}
.os-general-field-title em{
  margin-left:auto;
  align-self:center;
  color:var(--muted);
  font-size:8px;
  font-style:normal;
  white-space:nowrap;
}
.os-general-field-card .input,
.os-general-field-card .select,
.os-general-field-card .textarea{
  background:var(--panel)!important;
  border-color:var(--border)!important;
}
.os-general-field-card .input:focus,
.os-general-field-card .select:focus,
.os-general-field-card .textarea:focus{
  border-color:var(--red)!important;
}
.os-general-field-card.notes .textarea{
  min-height:84px!important;
  resize:vertical;
}
.os-general-actions{
  margin:8px 18px 0!important;
  padding:12px 0 16px;
  border-top:1px solid var(--border);
  align-items:center!important;
  justify-content:space-between!important;
}
.os-general-actions>div{display:grid;gap:2px}
.os-general-actions>div b{font-size:9px}
.os-general-actions>div span{font-size:8px;color:var(--muted)}
.os-general-actions .btn{min-width:180px}
.os-devices-card>.os-section-head{padding-bottom:11px;border-bottom:1px solid var(--border)}
.os-device-card{
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.os-device-card:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--red) 30%,var(--border));
  box-shadow:0 9px 24px rgba(0,0,0,.10);
}
.os-device-empty-icon{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:color-mix(in srgb,var(--red) 8%,var(--panel2));
  border:1px solid color-mix(in srgb,var(--red) 24%,var(--border));
  color:var(--red);font-size:18px;
}
.os-device-empty .btn{margin-top:5px}

/* Modal de aparelho */
.os-device-modal{
  background:rgba(3,4,6,.78)!important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.os-device-modal .modal{
  width:min(980px,calc(100vw - 28px))!important;
  max-height:92vh!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto;
  border-radius:18px!important;
  border-color:color-mix(in srgb,var(--red) 18%,var(--border))!important;
}
.os-device-modal .modal-head{
  padding:14px 17px!important;
  background:
    linear-gradient(90deg,color-mix(in srgb,var(--red) 10%,var(--panel)),var(--panel) 45%);
}
.os-device-modal .modal-head h2{font-size:18px!important}
.os-device-modal .modal-body{
  min-height:0;
  overflow:auto;
  padding:13px!important;
  background:color-mix(in srgb,var(--bg) 45%,var(--panel));
}
.os-device-modal .modal-foot{
  padding:10px 14px!important;
  background:var(--panel);
  box-shadow:0 -10px 24px rgba(0,0,0,.12);
}
.os-device-modal .modal-foot .btn{min-width:150px}
.os-device-editor{gap:10px!important}
.os-device-editor-intro{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:11px;
  align-items:center;
  padding:11px 12px;
  border:1px solid color-mix(in srgb,var(--red) 22%,var(--border));
  border-radius:13px;
  background:
    radial-gradient(circle at 0 0,color-mix(in srgb,var(--red) 12%,transparent),transparent 50%),
    var(--panel);
}
.os-device-editor-icon{
  width:42px;height:42px;border-radius:12px;
  display:grid;place-items:center;
  background:var(--red);color:#fff;font-size:18px;font-weight:950;
  box-shadow:0 7px 18px color-mix(in srgb,var(--red) 18%,transparent);
}
.os-device-editor-intro>div:last-child{display:grid;gap:2px}
.os-device-editor-intro span{font-size:7px;color:var(--red);font-weight:950;letter-spacing:.09em}
.os-device-editor-intro h3{margin:0;font-size:14px}
.os-device-editor-intro p{margin:0;color:var(--muted);font-size:8.5px;line-height:1.4}
.os-device-editor-section{
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--panel);
  padding:11px 12px;
}
.os-device-editor-section-head{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:10px;
}
.os-device-editor-section-head>span{
  width:26px;height:26px;flex:0 0 26px;
  display:grid;place-items:center;
  border-radius:8px;
  background:color-mix(in srgb,var(--red) 10%,var(--panel2));
  border:1px solid color-mix(in srgb,var(--red) 28%,var(--border));
  color:var(--red);font-size:9px;font-weight:950;
}
.os-device-editor-section-head>div{display:grid;gap:2px}
.os-device-editor-section-head h4{margin:0;font-size:11px}
.os-device-editor-section-head p{margin:0;color:var(--muted);font-size:8px;line-height:1.35}
.os-device-identity-grid,
.os-device-text-grid,
.os-device-support-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 10px;
}
.os-device-editor .field{margin-bottom:0!important}
.os-device-editor .field label{
  font-size:8px!important;
  letter-spacing:.04em;
}
.os-device-editor .field small{font-size:7.5px;color:var(--muted)}
.os-device-editor .input,
.os-device-editor .select,
.os-device-editor .textarea{
  background:var(--panel2)!important;
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease!important;
}
.os-device-editor .input:focus,
.os-device-editor .select:focus,
.os-device-editor .textarea:focus{
  border-color:var(--red)!important;
  background:var(--panel)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 9%,transparent)!important;
}
.os-device-text-grid .textarea{
  min-height:100px!important;
  max-height:180px;
  resize:vertical;
}
.os-device-notes{
  min-height:64px!important;
  max-height:130px;
}
.os-device-label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:5px;
}
.os-device-label-row label{margin:0!important}
.os-device-label-row small{white-space:nowrap}
.os-accessory-preview{
  min-height:26px;
  margin-top:6px;
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  align-items:center;
}
.os-accessory-preview span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  border:1px solid color-mix(in srgb,var(--red) 22%,var(--border));
  background:color-mix(in srgb,var(--red) 6%,var(--panel));
  color:var(--text);
  font-size:8px;
  font-weight:800;
}
.os-accessory-preview>small{font-size:8px;color:var(--muted)}
.os-device-modal .os-device-lock{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 10px;
  margin:0!important;
  padding:9px!important;
  border:1px dashed var(--border)!important;
  border-radius:10px;
  background:var(--panel2);
}
.os-device-modal .os-pattern-preview{
  grid-column:1/-1;
  margin:0!important;
  padding:9px!important;
  border-radius:9px!important;
  background:var(--panel)!important;
}
.os-device-modal .os-pattern-preview>span{font-size:9px;font-weight:900}
.os-device-modal .os-pattern-preview>small{display:block;color:var(--muted);font-size:7.5px;margin:2px 0 7px}
.os-device-custom-section .os-custom-live-grid{
  margin-top:0!important;
  gap:7px!important;
}
.os-device-custom-section .os-custom-live-field{
  border:1px solid var(--border);
  border-radius:9px;
  padding:8px;
  background:var(--panel2);
}
.os-device-custom-section label.os-custom-live-field.check{
  min-height:39px;
  display:flex;
  align-items:center;
  gap:7px;
}
.os-device-custom-section label.os-custom-live-field.check:hover{
  border-color:color-mix(in srgb,var(--red) 30%,var(--border));
  background:color-mix(in srgb,var(--red) 4%,var(--panel2));
}
.os-device-custom-section input[type="checkbox"]{accent-color:var(--red)}

@media(max-width:820px){
  .os-general-grid{grid-template-columns:1fr 1fr}
  .os-general-field-card.status{grid-column:1/-1}
  .os-device-text-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .os-general-head{align-items:flex-start!important;flex-direction:column}
  .os-general-head-actions{width:100%;justify-content:space-between}
  .os-general-grid{grid-template-columns:1fr;padding:12px}
  .os-general-field-card.status,.os-general-field-card.notes{grid-column:auto}
  .os-general-actions{margin:8px 12px 0!important;align-items:stretch!important;flex-direction:column}
  .os-general-actions .btn{width:100%}
  .os-device-modal .modal{width:calc(100vw - 14px)!important;max-height:95vh!important}
  .os-device-identity-grid,.os-device-support-grid{grid-template-columns:1fr}
  .os-device-modal .os-device-lock{grid-template-columns:1fr}
}


/* ===== O.S. 07/10 · padrão desenhável, busca inline e cadastro rápido ===== */
.os-pattern-preview{
  grid-column:1/-1;
  width:100%;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.os-pattern-interactive{
  padding:10px;
  border:1px solid var(--border);
  border-radius:11px;
  background:var(--panel);
}
.os-pattern-interactive-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}
.os-pattern-interactive-head>div{display:grid;gap:2px}
.os-pattern-interactive-head b{font-size:9px}
.os-pattern-interactive-head small{font-size:7.5px;color:var(--muted)}
.os-pattern-canvas{
  position:relative;
  width:min(280px,100%);
  aspect-ratio:1/1;
  max-height:230px;
  margin:0 auto;
  border:1px solid var(--border);
  border-radius:12px;
  background:
    radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--red) 5%,transparent),transparent 68%),
    var(--panel2);
  touch-action:none;
  user-select:none;
  overflow:hidden;
}
.os-pattern-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.os-pattern-lines polyline{
  fill:none;
  stroke:var(--red);
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 2px 4px color-mix(in srgb,var(--red) 22%,transparent));
}
.os-pattern-nodes{
  position:absolute;
  inset:13%;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-template-rows:repeat(3,1fr);
  place-items:center;
}
.os-pattern-nodes button{
  position:relative;
  width:28px;
  height:28px;
  border:2px solid #d7d9df;
  border-radius:50%;
  background:var(--panel);
  color:#fff;
  padding:0;
  cursor:crosshair;
  z-index:2;
  transition:.12s ease;
}
.os-pattern-nodes button:hover{
  border-color:var(--red);
  transform:scale(1.08);
}
.os-pattern-nodes button.selected{
  width:32px;height:32px;
  background:var(--red);
  border-color:var(--red);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--red) 15%,transparent);
}
.os-pattern-nodes button.selected::before{
  content:attr(data-order);
  position:absolute;inset:0;
  display:grid;place-items:center;
  color:#fff;font-size:8px;font-weight:950;
}
.os-pattern-nodes button.start::after{
  content:"↘ INÍCIO";
  position:absolute;
  left:-31px;
  top:-26px;
  width:62px;
  color:var(--red);
  font-size:7px;
  font-weight:950;
  letter-spacing:.02em;
  pointer-events:none;
}
.os-pattern-help{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:7px;
  color:var(--muted);
  font-size:7.5px;
}
.os-pattern-help-arrow{color:var(--red);font-size:13px;font-weight:950}
.os-pattern-help b{margin-left:auto;color:var(--text);font-size:8px}

/* Busca sempre visível em Produtos / Serviços */
.os-inline-item-picker{
  position:relative;
  margin:2px 0 12px;
  z-index:8;
}
.os-inline-item-search{
  min-height:46px;
  display:grid;
  grid-template-columns:24px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  padding:0 11px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel2);
  transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;
}
.os-inline-item-search:focus-within{
  border-color:var(--red);
  background:var(--panel);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 10%,transparent);
}
.os-inline-item-search>span{color:var(--red);font-size:20px;line-height:1}
.os-inline-item-search input{
  min-width:0;
  height:44px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-size:11px;
}
.os-inline-item-search small{
  color:var(--muted);
  font-size:8px;
  white-space:nowrap;
}
.os-inline-item-results{
  position:absolute;
  top:calc(100% + 6px);
  left:0;right:0;
  max-height:360px;
  overflow:auto;
  padding:6px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel);
  box-shadow:0 18px 44px rgba(0,0,0,.28);
  z-index:30;
}
.os-inline-item-result{
  width:100%;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:7px 8px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.os-inline-item-result:hover{
  border-color:color-mix(in srgb,var(--red) 28%,var(--border));
  background:color-mix(in srgb,var(--red) 6%,var(--panel2));
}
.os-inline-item-thumb{
  width:42px;height:42px;
  display:grid;place-items:center;
  border:1px solid var(--border);
  border-radius:9px;
  overflow:hidden;
  background:var(--panel2);
}
.os-inline-item-thumb img{width:100%;height:100%;object-fit:contain;background:#fff}
.os-inline-item-thumb .item-placeholder{width:22px;height:22px;color:var(--muted)}
.os-inline-item-thumb .item-placeholder svg{width:22px;height:22px}
.os-inline-item-copy{display:grid;gap:3px;min-width:0}
.os-inline-item-copy b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-inline-item-copy span{font-size:8px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.os-inline-item-price{display:grid;gap:2px;text-align:right}
.os-inline-item-price small{font-size:7px;color:var(--muted);font-weight:900}
.os-inline-item-price b{font-size:11px;color:var(--success)}
.os-inline-empty{padding:15px;text-align:center;color:var(--muted);font-size:9px}
.os-inline-empty.danger{color:var(--danger)}

/* Cadastro rápido mais leve e guiado */
.os-quick-product-modal{
  background:rgba(3,4,6,.76)!important;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}
.os-quick-product-modal .modal{
  width:min(820px,calc(100vw - 24px))!important;
  max-height:92vh!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto;
  border-radius:18px!important;
  border-color:color-mix(in srgb,var(--red) 18%,var(--border))!important;
}
.os-quick-product-modal .modal-head{
  padding:13px 16px!important;
  background:linear-gradient(90deg,color-mix(in srgb,var(--red) 9%,var(--panel)),var(--panel) 46%);
}
.os-quick-product-modal .modal-head h2{font-size:17px!important}
.os-quick-product-modal .modal-body{
  min-height:0;
  overflow:auto;
  padding:12px!important;
  background:color-mix(in srgb,var(--bg) 45%,var(--panel));
}
.os-quick-product-modal .modal-foot{
  padding:10px 13px!important;
  background:var(--panel);
}
.os-quick-product{display:grid;gap:9px}
.os-quick-product-intro{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px 11px;
  border:1px solid color-mix(in srgb,var(--red) 22%,var(--border));
  border-radius:12px;
  background:linear-gradient(90deg,color-mix(in srgb,var(--red) 7%,var(--panel2)),var(--panel));
}
.os-quick-product-icon{
  width:40px;height:40px;
  display:grid;place-items:center;
  border-radius:11px;
  background:var(--red);
  color:#fff;
  font-size:22px;
  font-weight:900;
}
.os-quick-product-intro>div:last-child{display:grid;gap:2px}
.os-quick-product-intro span{font-size:7px;color:var(--red);font-weight:950;letter-spacing:.09em}
.os-quick-product-intro h3{margin:0;font-size:13px}
.os-quick-product-intro p{margin:0;color:var(--muted);font-size:8px;line-height:1.35}
.os-quick-product-section{
  padding:10px 11px;
  border:1px solid var(--border);
  border-radius:12px;
  background:var(--panel);
}
.os-quick-product-section-head{
  display:flex;align-items:center;gap:8px;margin-bottom:9px;
}
.os-quick-product-section-head>span{
  width:24px;height:24px;flex:0 0 24px;
  display:grid;place-items:center;
  border-radius:7px;
  background:color-mix(in srgb,var(--red) 9%,var(--panel2));
  border:1px solid color-mix(in srgb,var(--red) 24%,var(--border));
  color:var(--red);
  font-size:8px;font-weight:950;
}
.os-quick-product-section-head>div{display:grid;gap:1px}
.os-quick-product-section-head h4{margin:0;font-size:10px}
.os-quick-product-section-head p{margin:0;color:var(--muted);font-size:7.5px}
.os-quick-product-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px}
.os-quick-product-grid .field,.os-quick-price-grid .field{margin-bottom:0!important}
.os-quick-product-modal .input,.os-quick-product-modal .select{
  min-height:42px!important;
  background:var(--panel2)!important;
}
.os-quick-barcode{grid-template-columns:minmax(0,1fr) auto!important}
.os-quick-barcode .btn{height:42px!important}
.os-quick-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.os-quick-price-card{
  padding:9px;
  border:1px solid var(--border);
  border-radius:10px;
  background:var(--panel2);
}
.os-quick-price-card.sale{
  border-color:color-mix(in srgb,var(--success) 30%,var(--border));
  background:color-mix(in srgb,var(--success) 5%,var(--panel2));
}
.os-quick-price-card small{font-size:7.5px;color:var(--muted);line-height:1.35}
.os-quick-stock-section{padding:8px 11px}
.os-quick-stock-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.os-quick-stock-row>div{display:grid;gap:2px}
.os-quick-stock-row b{font-size:9px}
.os-quick-stock-row span{font-size:7.5px;color:var(--muted)}
.os-switch{position:relative;width:42px;height:23px;display:block;flex:0 0 42px}
.os-switch input{position:absolute;opacity:0;pointer-events:none}
.os-switch span{position:absolute;inset:0;border-radius:999px;background:var(--panel3);border:1px solid var(--border);cursor:pointer;transition:.18s}
.os-switch span::after{content:"";position:absolute;width:17px;height:17px;left:2px;top:2px;border-radius:50%;background:#fff;transition:.18s}
.os-switch input:checked+span{background:var(--red);border-color:var(--red)}
.os-switch input:checked+span::after{transform:translateX(19px)}
.os-selected-product{display:flex;align-items:center;gap:9px}
.search-result-thumb.large{width:48px;height:48px;flex:0 0 48px}
.search-result-thumb.large .item-placeholder svg{width:24px;height:24px}

@media(max-width:680px){
  .os-inline-item-search{grid-template-columns:22px minmax(0,1fr)}
  .os-inline-item-search small{display:none}
  .os-inline-item-result{grid-template-columns:40px minmax(0,1fr)}
  .os-inline-item-price{grid-column:2;text-align:left}
  .os-quick-product-grid,.os-quick-price-grid{grid-template-columns:1fr}
  .os-quick-product-modal .modal-foot{flex-wrap:wrap}
  .os-quick-product-modal .modal-foot .btn{flex:1 1 150px}
  .os-pattern-canvas{max-height:none}
}


/* ===== Hotfix 07/10 · padrão de desbloqueio colapsado ===== */
/* A regra antiga .os-pattern-preview>div era do preview estático de 9 pontos
   e estava comprimindo o novo componente interativo em 3 colunas de 18px. */
.os-device-modal .os-pattern-preview{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  align-items:stretch!important;
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.os-device-modal .os-pattern-preview > .os-pattern-interactive{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  width:100%!important;
  min-width:0!important;
  padding:10px!important;
  border:1px solid var(--border)!important;
  border-radius:11px!important;
  background:var(--panel)!important;
  color:var(--text)!important;
  font-size:inherit!important;
}
.os-device-modal .os-pattern-preview > .os-pattern-interactive > .os-pattern-interactive-head{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.os-device-modal .os-pattern-preview > .os-pattern-interactive > .os-pattern-canvas{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
  position:relative!important;
  width:min(280px,100%)!important;
  min-width:220px!important;
  max-width:280px!important;
  aspect-ratio:1/1!important;
  max-height:none!important;
  margin:10px auto 0!important;
  padding:0!important;
  border:1px solid var(--border)!important;
  border-radius:12px!important;
  background:
    radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--red) 5%,transparent),transparent 68%),
    var(--panel2)!important;
  overflow:hidden!important;
}
.os-device-modal .os-pattern-preview > .os-pattern-interactive > .os-pattern-help{
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  margin-top:8px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.os-device-modal .os-pattern-nodes{
  position:absolute!important;
  inset:13%!important;
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  grid-template-rows:repeat(3,1fr)!important;
  gap:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  place-items:center!important;
}
.os-device-modal .os-pattern-nodes button{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  max-width:28px!important;
  max-height:28px!important;
  padding:0!important;
}
.os-device-modal .os-pattern-lines{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
@media(max-width:620px){
  .os-device-modal .os-pattern-preview > .os-pattern-interactive > .os-pattern-canvas{
    width:min(260px,100%)!important;
    min-width:0!important;
  }
}


/* ===== Ajuste 07/10 · padrão de desbloqueio compacto ===== */
.os-device-modal .os-pattern-preview > .os-pattern-interactive{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 168px!important;
  grid-template-rows:auto auto!important;
  column-gap:14px!important;
  row-gap:6px!important;
  align-items:center!important;
  padding:9px 10px!important;
}
.os-device-modal .os-pattern-preview > .os-pattern-interactive > .os-pattern-interactive-head{
  grid-column:1!important;
  grid-row:1!important;
  align-self:end!important;
  margin:0!important;
}
.os-device-modal .os-pattern-interactive-head b{font-size:8.5px!important}
.os-device-modal .os-pattern-interactive-head small{
  max-width:310px;
  font-size:7px!important;
  line-height:1.25!important;
}
.os-device-modal .os-pattern-interactive-head .btn{
  min-height:28px!important;
  height:28px!important;
  padding:0 9px!important;
  font-size:7.5px!important;
}
.os-device-modal .os-pattern-preview > .os-pattern-interactive > .os-pattern-canvas{
  grid-column:2!important;
  grid-row:1 / span 2!important;
  width:168px!important;
  min-width:168px!important;
  max-width:168px!important;
  height:168px!important;
  aspect-ratio:auto!important;
  margin:0!important;
  border-radius:10px!important;
}
.os-device-modal .os-pattern-preview > .os-pattern-interactive > .os-pattern-help{
  grid-column:1!important;
  grid-row:2!important;
  align-self:start!important;
  margin:0!important;
  font-size:7px!important;
}
.os-device-modal .os-pattern-help-arrow{font-size:11px!important}
.os-device-modal .os-pattern-help b{font-size:7.5px!important}
.os-device-modal .os-pattern-nodes{inset:14%!important}
.os-device-modal .os-pattern-nodes button{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  min-height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  border-width:1.5px!important;
}
.os-device-modal .os-pattern-nodes button.selected{
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  max-width:20px!important;
  max-height:20px!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--red) 14%,transparent)!important;
}
.os-device-modal .os-pattern-nodes button.selected::before{font-size:6.5px!important}
.os-device-modal .os-pattern-nodes button.start::after{
  content:"↘"!important;
  left:-10px!important;
  top:-14px!important;
  width:auto!important;
  font-size:8px!important;
}
.os-device-modal .os-pattern-lines polyline{
  stroke-width:3.2!important;
}
@media(max-width:620px){
  .os-device-modal .os-pattern-preview > .os-pattern-interactive{
    grid-template-columns:1fr!important;
    grid-template-rows:auto auto auto!important;
  }
  .os-device-modal .os-pattern-preview > .os-pattern-interactive > .os-pattern-interactive-head{
    grid-column:1!important;
    grid-row:1!important;
  }
  .os-device-modal .os-pattern-preview > .os-pattern-interactive > .os-pattern-canvas{
    grid-column:1!important;
    grid-row:2!important;
    width:156px!important;
    min-width:156px!important;
    max-width:156px!important;
    height:156px!important;
    justify-self:center!important;
  }
  .os-device-modal .os-pattern-preview > .os-pattern-interactive > .os-pattern-help{
    grid-column:1!important;
    grid-row:3!important;
  }
}


/* ===== O.S. 07/10 · bloqueios múltiplos, edição de itens e caixa ===== */
.os-device-modal .os-device-lock{
  display:block!important;
}
.os-lock-options{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-bottom:8px;
}
.os-lock-check{
  min-width:145px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:7px 9px;
  border:1px solid var(--border);
  border-radius:9px;
  background:var(--panel);
  cursor:pointer;
  transition:.15s ease;
}
.os-lock-check:hover{
  border-color:color-mix(in srgb,var(--red) 30%,var(--border));
  background:color-mix(in srgb,var(--red) 4%,var(--panel));
}
.os-lock-check:has(input:checked){
  border-color:var(--red);
  background:color-mix(in srgb,var(--red) 7%,var(--panel));
}
.os-lock-check input{accent-color:var(--red);width:15px;height:15px}
.os-lock-check>span{display:grid;gap:1px}
.os-lock-check b{font-size:8.5px}
.os-lock-check small{font-size:7px;color:var(--muted)}
.os-lock-details{
  display:grid;
  grid-template-columns:190px minmax(220px,1fr);
  gap:9px;
  align-items:start;
}
.os-lock-details>.os-pattern-preview{
  grid-column:1!important;
  width:190px!important;
  justify-self:start!important;
}
.os-lock-details>.os-lock-password-field{
  grid-column:2;
  margin:0!important;
  align-self:start;
}
.os-device-modal .os-lock-details .os-pattern-interactive{
  display:block!important;
  width:190px!important;
  padding:7px!important;
}
.os-device-modal .os-lock-details .os-pattern-interactive-head{
  display:flex!important;
  margin-bottom:5px!important;
}
.os-device-modal .os-lock-details .os-pattern-canvas{
  width:150px!important;
  min-width:150px!important;
  max-width:150px!important;
  height:150px!important;
  margin:5px 0 0!important;
}
.os-device-modal .os-lock-details .os-pattern-help{
  width:150px!important;
  margin-top:5px!important;
}
.os-item-row-actions{display:flex;gap:5px;justify-content:flex-end;white-space:nowrap}
.os-edit-item-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:10px 11px;margin-bottom:10px;border:1px solid var(--border);
  border-radius:11px;background:var(--panel2)
}
.os-edit-item-head>div{display:grid;gap:2px}
.os-edit-item-head span:first-child{font-size:7px;font-weight:950;color:var(--red);letter-spacing:.07em}
.os-edit-item-head h3{margin:0;font-size:14px}
.os-edit-item-head p{margin:0;color:var(--muted);font-size:8px;line-height:1.35}
.os-no-open-cash{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 11px;border:1px solid color-mix(in srgb,var(--warning) 38%,var(--border));
  border-radius:11px;background:color-mix(in srgb,var(--warning) 7%,var(--panel2))
}
.os-no-open-cash>div{display:grid;gap:2px}
.os-no-open-cash b{font-size:10px;color:var(--warning)}
.os-no-open-cash span{font-size:8px;color:var(--muted)}
@media(max-width:620px){
  .os-lock-options{display:grid;grid-template-columns:1fr}
  .os-lock-details{grid-template-columns:1fr}
  .os-lock-details>.os-pattern-preview,.os-lock-details>.os-lock-password-field{grid-column:1!important}
  .os-lock-details>.os-pattern-preview{width:100%!important}
  .os-device-modal .os-lock-details .os-pattern-interactive{width:100%!important}
  .os-device-modal .os-lock-details .os-pattern-canvas{margin:5px auto 0!important}
  .os-device-modal .os-lock-details .os-pattern-help{width:100%!important}
  .os-no-open-cash{align-items:stretch;flex-direction:column}
  .os-no-open-cash .btn{width:100%}
}


/* ===== 08/10 — impressão O.S. / seletor de impressora ===== */
.os-icon-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
}
.os-action-icon{
  width:19px;
  height:19px;
  flex:0 0 19px;
  display:block;
}
.os-action-icon.whatsapp{
  width:20px;
  height:20px;
  flex-basis:20px;
}
.print-format-modal .modal-card{
  max-width:760px!important;
}
.print-format-modal .modal-body{
  padding:22px!important;
}
.print-picker{
  display:grid;
  gap:18px;
}
.print-picker-intro{
  display:grid;
  gap:4px;
  padding:2px 2px 4px;
}
.print-picker-intro b{
  font-size:17px;
  color:var(--text);
}
.print-picker-intro span{
  font-size:12px;
  color:var(--muted);
}
.print-picker-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}
.print-format-card{
  width:100%;
  border:1px solid var(--border);
  background:var(--panel2);
  color:var(--text);
  border-radius:16px;
  padding:16px 18px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  text-align:left;
  cursor:pointer;
  transition:border-color .15s ease,transform .15s ease,background .15s ease,box-shadow .15s ease;
}
.print-format-card:hover{
  transform:translateY(-1px);
  border-color:var(--red);
  background:rgba(225,31,39,.07);
  box-shadow:0 8px 24px rgba(0,0,0,.14);
}
.print-format-card:focus-visible{
  outline:2px solid var(--red);
  outline-offset:2px;
}
.print-format-icon{
  width:46px;
  height:46px;
  border-radius:13px;
  display:grid;
  place-items:center;
  background:var(--panel);
  border:1px solid var(--border);
  color:var(--text);
}
.print-format-card.recommended .print-format-icon{
  background:rgba(225,31,39,.12);
  color:var(--red);
  border-color:rgba(225,31,39,.35);
}
.print-format-card.pos58 .print-format-icon{
  background:rgba(43,177,97,.12);
  color:#35c876;
  border-color:rgba(53,200,118,.35);
}
.print-format-icon svg{
  width:25px;
  height:25px;
  display:block;
}
.print-format-copy{
  min-width:0;
  display:grid;
  gap:3px;
}
.print-format-copy b{
  color:var(--text)!important;
  font-size:15px!important;
  line-height:1.2;
}
.print-format-copy small{
  color:var(--muted);
  font-size:11px;
  line-height:1.35;
}
.print-format-copy em{
  margin-top:3px;
  color:var(--muted);
  font-size:9px;
  line-height:1;
  font-style:normal;
  font-weight:900;
  letter-spacing:.05em;
}
.print-format-card.recommended .print-format-copy em{
  color:var(--red);
}
.print-format-card.pos58 .print-format-copy em{
  color:#35c876;
}
.print-format-size{
  min-width:46px;
  height:30px;
  padding:0 10px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:var(--panel);
  border:1px solid var(--border);
  color:var(--text);
  font-weight:900;
  font-size:11px;
}
@media(max-width:620px){
  .print-format-modal .modal-body{padding:16px!important}
  .print-format-card{grid-template-columns:42px minmax(0,1fr);padding:14px}
  .print-format-icon{width:40px;height:40px}
  .print-format-size{display:none}
}

/* ===== 08/10/2026 · Movimentação gerencial e despesa compacta ===== */
/* Limitar mudanças ao modal correspondente: demais telas preservadas. */
.modal-backdrop .modal.expense-compact-modal{
  width:min(860px,calc(100vw - 28px))!important;
  max-height:88vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:17px;
}
.expense-compact-modal .modal-head{padding:12px 17px;flex:none}
.expense-compact-modal .modal-head h2{font-size:17px;line-height:1.3}
.expense-compact-modal .modal-body{padding:14px 17px;min-height:0;overflow:auto}
.expense-compact-modal .modal-foot{padding:11px 17px;flex:none;background:var(--panel);position:sticky;bottom:0}
.expense-compact-modal .expense-form-shell{gap:10px}
.expense-compact-modal .expense-form-head{
  padding:10px 12px;gap:10px;border-radius:10px
}
.expense-compact-modal .expense-form-head>span{width:36px;height:36px;border-radius:9px;flex:none}
.expense-compact-modal .expense-form-head svg{width:19px;height:19px}
.expense-compact-modal .expense-form-head h3{font-size:14px;margin:0 0 2px}
.expense-compact-modal .expense-form-head p{font-size:10px;line-height:1.3}
.expense-compact-modal .expense-main-grid{gap:9px 12px}
.expense-compact-modal .field label{font-size:10px;line-height:1.3;margin-bottom:5px;letter-spacing:.03em}
.expense-compact-modal :is(.field>.input,.field>.select,.expense-type-inline .select,.expense-created-datetime .input){
  height:40px;min-height:40px;font-size:12px;border-radius:9px;padding:8px 12px;
}
.expense-compact-modal .expense-type-inline .btn{min-height:40px;height:40px;padding:0 12px}
.expense-compact-modal .expense-main-grid .textarea{min-height:70px;max-height:110px;font-size:12px;padding:10px 12px;border-radius:9px}
.expense-compact-modal .expense-created-datetime{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:7px;min-width:0}
.expense-compact-modal .expense-created-datetime>*{min-width:0;width:100%}
.expense-compact-modal .expense-created-datetime .pf-date-shell{min-width:0}
.expense-compact-modal .expense-created-datetime .pf-date-shell>.input{width:100%}
.expense-compact-modal .expense-paid-panel{padding:11px;border-radius:10px}
.expense-compact-modal .expense-paid-panel .form-grid{gap:9px 12px}
.expense-compact-modal .expense-paid-panel .expense-paid-title{margin-bottom:8px}
.expense-compact-modal .expense-paid-title b{font-size:12px}
.expense-compact-modal .expense-paid-title span,.expense-compact-modal .expense-paid-help{font-size:10px}
.expense-created-info{color:var(--muted);font-size:10px;line-height:1.35}

/* Mesmo arranjo do modelo de movimentação: Motivo, Valor, Data/hora e Observações. */
.modal-backdrop .modal.account-adjust-modal{
  width:min(900px,calc(100vw - 28px))!important;
  border-radius:16px;max-height:88vh;overflow:hidden;display:flex;flex-direction:column
}
.account-adjust-modal .modal-head{padding:13px 17px;flex:none}
.account-adjust-modal .modal-head h2{font-size:17px}
.account-adjust-modal .modal-body{padding:14px 17px;overflow:auto;min-height:0}
.account-adjust-modal .modal-foot{padding:11px 17px;flex:none}
.account-adjust-shell{display:grid;gap:12px}
.account-adjust-title{
  display:flex;align-items:center;gap:12px;background:var(--panel2);
  border:1px solid var(--border);border-radius:12px;padding:12px
}
.account-adjust-symbol{
  background:color-mix(in srgb,var(--red) 12%,var(--panel));
  color:var(--red);font-weight:900;border-radius:10px;
  display:grid;place-items:center;width:37px;height:37px;font-size:22px;flex:none
}
.account-adjust-title h3{font-size:16px;margin:0 0 4px}
.account-adjust-title p{font-size:11px;color:var(--muted);margin:0;line-height:1.4}
.account-adjust-grid{
  display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:12px;
  padding:0 2px
}
.account-adjust-grid .field{min-width:0}
.account-adjust-grid .field label{font-size:11px;margin-bottom:6px;font-weight:750}
.account-adjust-grid .field>.input,.account-adjust-grid .field>.select,
.account-adjust-datetime .input{height:42px;min-height:42px;padding:9px 10px;border-radius:9px;font-size:12px}
.account-adjust-datetime{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:7px;min-width:0}
.account-adjust-datetime>*{min-width:0;width:100%}
.account-adjust-datetime .pf-date-shell{min-width:0}
.account-adjust-grid textarea{min-height:82px;max-height:130px;font-size:12px;padding:11px;border-radius:9px}
.account-adjust-hint{font-size:10px;line-height:1.4;color:var(--muted);margin:0}
@media(max-width:760px){
  .account-adjust-grid{grid-template-columns:1fr 1fr}
  .account-adjust-grid .field:nth-child(3){grid-column:1/-1}
}
@media(max-width:600px){
  .expense-compact-modal .expense-main-grid,
  .account-adjust-grid{grid-template-columns:1fr}
  .account-adjust-grid .field:nth-child(3){grid-column:auto}
  .expense-compact-modal .expense-created-datetime,
  .account-adjust-datetime{grid-template-columns:minmax(0,1fr) 100px}
  .modal-backdrop .modal.expense-compact-modal,
  .modal-backdrop .modal.account-adjust-modal{width:calc(100vw - 16px)!important;max-height:94vh}
  .expense-compact-modal .modal-body,.account-adjust-modal .modal-body{padding:11px}
}

/* Seletor de hora/minuto junto ao calendário de movimentações e despesas. */
.pf-cal-time-picker{
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
  padding:9px 6px 7px;
  margin:7px 2px 5px;
  display:flex;align-items:center;justify-content:space-between;gap:8px
}
.pf-cal-time-picker>span{font-size:10px;font-weight:800;color:var(--muted)}
.pf-cal-time-controls{display:flex;align-items:center;gap:7px}
.pf-cal-time-controls>div{display:flex;align-items:center;flex-direction:column;gap:3px}
.pf-cal-time-controls>div button{
  border:0;background:transparent;color:var(--muted);
  width:32px;height:19px;padding:0;cursor:pointer;font-size:20px;line-height:16px
}
.pf-cal-time-controls>div button:hover{color:var(--red)}
.pf-cal-time-controls b{font-size:14px;font-variant-numeric:tabular-nums;color:var(--text)}
.pf-cal-time-controls strong{font-size:14px;font-weight:800;color:var(--muted)}

/* 08/10/2026 — Contas gerenciais compactas e modal de movimentações enxuto. */
.finance-page .finance-account-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:11px;
}
.finance-page .finance-account-tile{
  padding:13px 14px 12px;
  min-height:214px;
  border:1px solid var(--border);
  border-radius:13px;
  background:var(--panel);
  box-shadow:0 4px 15px rgba(0,0,0,.055);
  transition:box-shadow .16s ease,border-color .16s ease,transform .16s ease;
}
.finance-page .finance-account-tile:hover{
  border-color:color-mix(in srgb,var(--red) 35%,var(--border));
  box-shadow:0 9px 24px rgba(0,0,0,.12);
  transform:translateY(-1px);
}
.finance-page .finance-account-card-head{
  display:grid;grid-template-columns:37px minmax(0,1fr) auto;
  align-items:start;gap:10px;margin-bottom:5px;min-height:47px
}
.finance-page .finance-account-card-head>div{min-width:0;align-self:center}
.finance-page .finance-account-card-head>div>span{
  display:block;color:var(--muted);font-size:10px;line-height:1.25;margin-bottom:2px
}
.finance-page .finance-account-card-head h3{
  font-size:15px;line-height:1.2;font-weight:900;letter-spacing:-.015em;margin:0;
  overflow-wrap:anywhere
}
.finance-page .finance-account-card-head .tag{
  font-size:8px!important;align-self:start;margin-top:2px;white-space:nowrap
}
.finance-page .finance-account-card-head>img,
.finance-page .finance-account-icon{
  width:37px;height:37px;border-radius:11px;
  border:1px solid color-mix(in srgb,var(--red) 22%,var(--border));
  background:color-mix(in srgb,var(--red) 10%,var(--panel2));
  display:grid;place-items:center;color:var(--red);object-fit:cover
}
.finance-page .finance-account-icon svg{width:21px;height:21px}
.finance-page .finance-account-icon.cash{
  border-color:rgba(29,170,112,.20);
  background:rgba(29,170,112,.10);
  color:#31c58d
}
.finance-page .finance-account-icon.barter{
  border-color:rgba(233,177,58,.26);
  background:rgba(233,177,58,.10);
  color:#e6b54c
}
.finance-page .finance-account-tile>strong{
  margin-top:9px;font-size:22px;line-height:1.15;letter-spacing:-.015em
}
.finance-page .finance-account-tile>small{
  font-size:9px;line-height:1.35;margin-top:3px;color:var(--muted)
}
.finance-page .finance-account-tile>small:nth-of-type(2){
  overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
}
.finance-page .finance-account-methods{
  margin-top:auto;padding-top:9px;gap:5px;min-height:37px
}
.finance-page .finance-account-methods>span{
  font-size:8px;font-weight:850;letter-spacing:.055em
}
.finance-page .finance-account-methods>div{gap:5px}
.finance-page .finance-account-methods b,
.finance-page .finance-account-methods em{font-size:9px;line-height:1.2}
.finance-page .finance-account-methods b{padding:4px 8px}
.finance-page .finance-account-actions{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px
}
.finance-page .finance-account-actions .btn{
  width:100%;min-width:0;min-height:36px;padding:7px 5px;
  font-size:9px;font-weight:900;border-radius:9px;line-height:1.15;
  text-align:center;white-space:normal;overflow-wrap:anywhere
}

/* Modal: preservar todos os filtros e ações, reduzir altura e largura. */
.modal-backdrop .modal.financial-account-movements-modal{
  width:min(910px,calc(100vw - 28px))!important;
  max-height:89vh;
  display:flex;flex-direction:column;overflow:hidden;
  border-radius:15px;
}
.financial-account-movements-modal .modal-head{
  padding:12px 16px;flex:0 0 auto
}
.financial-account-movements-modal .modal-head h2{
  font-size:17px;line-height:1.3
}
.financial-account-movements-modal .modal-body{
  min-height:0;overflow:auto;padding:13px 16px;
}
.financial-account-movements-modal .modal-foot{
  padding:10px 16px;flex:0 0 auto
}
.financial-account-movements-modal .financial-account-movement-summary{
  grid-template-columns:1.2fr .8fr;gap:8px;margin-bottom:9px
}
.financial-account-movements-modal .financial-account-movement-summary>div{
  padding:10px 12px;border-radius:10px
}
.financial-account-movements-modal .financial-account-movement-summary span{
  font-size:9px;letter-spacing:.035em
}
.financial-account-movements-modal .financial-account-movement-summary b{
  font-size:15px;margin-top:3px
}
.financial-account-movements-modal .financial-account-movement-summary small{
  font-size:10px;line-height:1.35;margin-top:3px;
  overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2
}
.financial-account-movements-modal .financial-account-movement-filters{
  border-radius:11px;padding:10px 12px;margin-bottom:9px
}
.financial-account-movements-modal .financial-account-movement-filters .form-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important
}
.financial-account-movements-modal .financial-account-movement-filters .field{min-width:0}
.financial-account-movements-modal .financial-account-movement-filters .field label{
  display:block;font-size:9px;line-height:1.2;letter-spacing:.04em;margin-bottom:5px
}
.financial-account-movements-modal .financial-account-movement-filters .field>.select,
.financial-account-movements-modal .financial-account-movement-filters .field>.input{
  width:100%;min-height:38px;height:38px;padding:8px 10px;
  border-radius:9px;font-size:11px
}
.financial-account-movements-modal .financial-account-movement-filters .pf-date-shell{
  min-width:0;width:100%
}
.financial-account-movements-modal .financial-account-filter-actions{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;
  gap:9px;margin-top:9px
}
.financial-account-movements-modal .financial-account-filter-actions .quick-periods{gap:5px}
.financial-account-movements-modal .financial-account-filter-actions .quick-periods button{
  font-size:9px;min-height:29px;padding:5px 8px
}
.financial-account-movements-modal .financial-account-filter-actions .btn{
  min-height:32px;padding:6px 10px;font-size:9px
}
.financial-account-movements-modal .financial-account-movement-toolbar{
  margin:8px 0;gap:8px;align-items:center
}
.financial-account-movements-modal .financial-account-movement-toolbar>b{
  font-size:13px;line-height:1.2
}
.financial-account-movements-modal .financial-account-movement-toolbar>div{gap:6px}
.financial-account-movements-modal .financial-account-movement-toolbar .btn{
  font-size:9px;padding:7px 9px;min-height:33px;border-radius:9px
}
.financial-account-movements-modal .financial-account-movement-table{
  max-height:min(310px,37vh);border-radius:11px
}
.financial-account-movements-modal .financial-account-movement-table .table th{
  font-size:9px;padding:9px 8px
}
.financial-account-movements-modal .financial-account-movement-table .table td{
  font-size:10px;padding:9px 8px
}
@media(max-width:1490px){
  .finance-page .finance-account-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1090px){
  .finance-page .finance-account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .finance-page .finance-account-grid{grid-template-columns:1fr}
  .modal-backdrop .modal.financial-account-movements-modal{
    width:calc(100vw - 18px)!important;max-height:94vh
  }
  .financial-account-movements-modal .financial-account-movement-filters .form-grid{
    grid-template-columns:1fr!important
  }
  .financial-account-movements-modal .financial-account-movement-summary{
    grid-template-columns:1fr
  }
  .financial-account-movements-modal .financial-account-movement-toolbar{
    flex-direction:column;align-items:stretch
  }
  .financial-account-movements-modal .financial-account-movement-toolbar>div{
    flex-wrap:wrap
  }
  .financial-account-movements-modal .modal-body{padding:10px}
}


/* Encomendas de Clientes — visual Pronto Flux */
.co-page{display:grid;gap:16px}
.co-header{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}
.co-header span{display:block;color:#d71920;font-size:10px;letter-spacing:1.4px;font-weight:800}
.co-header h1{margin:4px 0;font-size:24px}.co-header p{margin:0;color:var(--muted);font-size:12px}
.co-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.co-kpis article{display:grid;gap:7px;border:1px solid var(--border);border-radius:14px;padding:15px;background:var(--panel)}
.co-kpis small{color:var(--muted);font-size:11px}.co-kpis b{font-size:27px}.co-danger{color:#eb5757}
.co-filters{display:flex;gap:9px}.co-filters .select{max-width:230px}
.co-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.co-card{display:grid;gap:12px;min-width:0;padding:15px;background:var(--panel);border:1px solid var(--border);border-radius:15px}
.co-card-head{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.co-card-head>.grow{display:grid;gap:4px;min-width:110px}.co-card-head b{font-size:14px}
.co-card-head small{font-size:11px;color:var(--muted)}
.co-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:10px;background:rgba(215,25,32,.1);color:#d71920;font-size:20px}
.co-products{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px 0;display:grid;gap:6px}
.co-products>div{display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:12px}
.co-products small{color:var(--muted);white-space:nowrap}
.co-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.co-meta>div{display:grid;gap:4px;min-width:0}.co-meta span{font-size:10px;color:var(--muted)}
.co-meta b{font-size:12px;overflow-wrap:anywhere}.co-green{color:#29b877}
.co-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.co-actions .btn{padding:7px 9px;font-size:10px}
.co-empty{text-align:center;padding:22px;border:1px dashed var(--border);border-radius:11px;color:var(--muted);font-size:12px;grid-column:1/-1}
.co-form{display:grid;gap:14px}.co-section{display:grid;gap:4px;border-top:1px solid var(--border);padding-top:10px}
.co-section:first-child{border:0;padding-top:0}.co-section>span{font-weight:800;color:#d71920;font-size:10px;letter-spacing:.9px}
.co-section>b{font-size:15px}.co-section>small,.co-form small{font-size:11px;color:var(--muted)}
.co-add-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.co-add-bar .grow{min-width:190px}
.co-suggestions{max-height:225px;overflow:auto;border:1px solid var(--border);border-radius:10px;background:var(--panel2);padding:5px}
.co-suggestions button{display:grid;gap:3px;text-align:left;width:100%;padding:9px;background:transparent;border:0;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer}
.co-suggestions button:hover{background:rgba(215,25,32,.08)}.co-suggestions button small{color:var(--muted)}
.co-item{display:grid;grid-template-columns:minmax(120px,2fr) 75px minmax(100px,1fr) auto;align-items:end;gap:9px;padding:8px 0;border-bottom:1px solid var(--border)}
.co-item>div:first-child{display:grid;gap:4px}.co-item>div:first-child b{font-size:12px}.co-item>div:first-child small{font-size:10px;color:var(--muted)}
.co-item .field label{font-size:10px}.co-total{display:flex;justify-content:flex-end;align-items:center;gap:12px;font-size:12px}
.co-total strong{font-size:20px;color:#2ab877}
.co-fields,.co-pay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.co-pay-warning{grid-column:1/-1;padding:10px;border-radius:9px;background:rgba(255,180,40,.1);color:#ebbd7b;font-size:12px}
.co-details{display:grid;gap:8px}.co-details p,.co-details h3,.co-details h4{margin:3px 0}.co-details>small{font-size:11px;color:var(--muted)}
@media(max-width:1150px){.co-cards{grid-template-columns:1fr}}
@media(max-width:780px){.co-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.co-header .btn{width:100%}.co-filters{flex-direction:column}.co-filters .select{max-width:none}
.co-add-bar{flex-direction:column;align-items:stretch}.co-item{grid-template-columns:1fr 90px}.co-item>div:first-child{grid-column:1/-1}
.co-fields,.co-pay-grid{grid-template-columns:1fr}.co-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* Encomendas DEV — modais menores, formularios mais limpos */
.modal-backdrop .modal.co-order-modal{width:min(820px,calc(100vw - 28px));max-height:min(84vh,740px);display:flex;flex-direction:column;overflow:hidden;border-radius:16px}
.modal-backdrop .modal.co-order-pay-modal{width:min(540px,calc(100vw - 28px));max-height:85vh;display:flex;flex-direction:column;overflow:hidden;border-radius:16px}
.modal-backdrop .modal.co-client-quick-modal{width:min(520px,calc(100vw - 28px));max-height:86vh;display:flex;flex-direction:column;overflow:hidden;border-radius:16px}
.co-order-modal .modal-head,.co-order-pay-modal .modal-head,.co-client-quick-modal .modal-head{padding:13px 18px;min-height:55px;flex-shrink:0}
.co-order-modal .modal-head h2,.co-order-pay-modal .modal-head h2,.co-client-quick-modal .modal-head h2{font-size:17px}
.co-order-modal .modal-body,.co-order-pay-modal .modal-body,.co-client-quick-modal .modal-body{padding:15px 18px;overflow:auto;min-height:0;overscroll-behavior:contain;flex:1}
.co-order-modal .modal-foot,.co-order-pay-modal .modal-foot,.co-client-quick-modal .modal-foot{padding:12px 18px;flex-shrink:0;background:var(--panel);border-top:1px solid var(--border)}
.co-order-modal .modal-foot .btn,.co-order-pay-modal .modal-foot .btn,.co-client-quick-modal .modal-foot .btn{font-size:11px;min-height:35px;padding:8px 13px}
.co-order-modal .co-form{gap:10px}
.co-order-modal .co-section{gap:3px;padding-top:9px}
.co-order-modal .co-section b{font-size:13px}
.co-order-modal .co-section>span{font-size:9px;letter-spacing:1.2px}
.co-order-modal .co-section>small{font-size:10px}
.co-order-modal .co-form .field>label,.co-order-pay-modal .co-pay-grid .field>label,.co-client-quick-modal .field>label{font-size:10px;margin-bottom:5px}
.co-order-modal .co-form .input,.co-order-modal .co-form .select,.co-order-pay-modal .co-pay-grid .input,.co-order-pay-modal .co-pay-grid .select,.co-client-quick-modal .input,.co-client-quick-modal .select{height:39px;min-height:39px;padding:8px 10px;font-size:12px;border-radius:9px}
.co-order-modal .co-form .textarea{min-height:55px;padding:9px 10px;font-size:12px;border-radius:9px}
.co-order-modal .co-fields{gap:12px}
.co-client-search-bar{display:flex;align-items:center;gap:8px;min-width:0}
.co-client-search-bar .grow{min-width:0;flex:1}
.co-client-search-bar .btn{white-space:nowrap;font-size:10px;padding:8px 10px;min-height:39px}
.co-order-modal .co-add-bar{gap:7px}
.co-order-modal .co-add-bar .input{flex:1;min-width:190px}
.co-order-modal .co-add-bar .btn{font-size:10px;white-space:nowrap;min-height:39px;padding:8px 10px}
.co-order-modal .co-suggestions{max-height:165px;box-shadow:0 10px 20px rgba(0,0,0,.08)}
.co-order-modal .co-item{padding:7px 0;gap:7px}
.co-order-modal .co-empty{padding:15px;font-size:11px}
.co-order-modal .co-total{margin-top:0}
.co-order-modal .co-total strong{font-size:18px}
.co-pay-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;align-items:end}
.co-pay-destination{min-height:39px;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--border);border-radius:9px;padding:6px 11px;background:var(--panel2);gap:2px}
.co-pay-destination span{font-size:10px;color:var(--muted)}
.co-pay-destination b{font-size:12px;color:#30b978}
.co-pay-destination small{font-size:9px;color:var(--muted)}
.co-no-cash{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:9px;background:rgba(228,149,24,.08);border:1px solid rgba(228,149,24,.25);border-radius:9px;padding:8px 10px}
.co-no-cash span{color:var(--text);font-size:11px}
.co-no-cash .btn{white-space:nowrap;font-size:10px}
.co-client-form{display:grid;gap:12px}
.co-client-intro{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel2);border:1px solid var(--border);border-radius:11px}
.co-client-intro>span{display:grid;place-items:center;width:34px;height:34px;background:rgba(215,25,32,.11);border-radius:9px;font-size:21px}
.co-client-intro>div{display:grid;gap:3px}
.co-client-intro b{font-size:13px}.co-client-intro small{font-size:10px;color:var(--muted)}
.co-client-quick-modal .co-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:650px){
 .modal-backdrop .modal.co-order-modal,.modal-backdrop .modal.co-order-pay-modal,.modal-backdrop .modal.co-client-quick-modal{width:calc(100vw - 16px);max-height:92vh;border-radius:12px}
 .co-order-modal .modal-body,.co-order-pay-modal .modal-body,.co-client-quick-modal .modal-body{padding:12px}
 .co-order-modal .co-client-search-bar{flex-direction:column;align-items:stretch}
 .co-order-modal .co-client-search-bar .btn{width:100%}
 .co-order-modal .co-add-bar{flex-direction:column;align-items:stretch}
 .co-order-modal .co-add-bar .input{width:100%;min-width:0}
 .co-client-quick-modal .co-fields,.co-pay-grid{grid-template-columns:1fr}
 .co-order-modal .co-fields{grid-template-columns:1fr}
 .co-order-modal .modal-foot,.co-client-quick-modal .modal-foot{flex-wrap:wrap}
 .co-no-cash{flex-direction:column;align-items:stretch}
}


/* Encomendas — cartões compactos no padrão Pronto Flux e navegação por status */
.co-manager{gap:14px}
.co-manager .co-header{align-items:center}
.co-header-buttons{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.co-header-buttons .btn{font-size:11px;min-height:38px;padding:9px 13px}
.co-manager .co-kpis article{padding:11px 14px;min-height:69px;border-radius:12px;gap:3px}
.co-manager .co-kpis b{font-size:23px}
.co-manager-layout{display:grid;grid-template-columns:184px minmax(0,1fr);align-items:start;gap:14px}
.co-status-nav{display:grid;gap:6px;padding:10px;background:var(--panel);border:1px solid var(--border);border-radius:13px;position:sticky;top:12px}
.co-status-nav button{border:0;background:transparent;color:var(--text);font:inherit;display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:39px;padding:9px 10px;border-radius:9px;cursor:pointer;text-align:left;font-size:11px;font-weight:750}
.co-status-nav button:hover{background:rgba(215,25,32,.07);color:#d71920}
.co-status-nav button.active{background:rgba(215,25,32,.13);color:#ec2c35;box-shadow:inset 3px 0 #d71920}
.co-status-nav button b{font-size:11px;background:var(--panel2);border:1px solid var(--border);border-radius:7px;padding:2px 6px;color:var(--muted)}
.co-status-nav button.active b{background:#d71920;color:white;border-color:#d71920}
.co-content-panel{min-width:0;display:grid;gap:10px}
.co-list-tools{display:flex;justify-content:space-between;align-items:center;gap:10px}
.co-list-search{flex:1;min-width:0}
.co-list-search .input{height:40px;padding:9px 12px;border-radius:10px;font-size:11px}
.co-select-all{display:flex;align-items:center;gap:6px;font-size:10px;white-space:nowrap;color:var(--muted);cursor:pointer}
.co-select-all input,.co-card-check input{accent-color:#d71920;width:15px;height:15px;cursor:pointer}
.co-manager .co-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}
.co-manager .co-mini-card{gap:10px;padding:11px;border-radius:12px;min-height:232px;position:relative;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.co-mini-card .co-card-head{gap:7px;position:relative;flex-wrap:nowrap}
.co-mini-card .co-card-head .grow{flex:1;min-width:0;gap:3px}
.co-mini-card .co-card-head b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-mini-card .co-card-head small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.co-mini-card .co-icon{width:38px;height:38px;flex:0 0 38px;border-radius:9px;background:rgba(215,25,32,.1);display:grid;place-items:center}
.co-mini-card .co-icon svg{color:#d71920;width:24px;height:24px}
.co-mini-card .co-icon img{width:100%;height:100%;object-fit:cover;border-radius:9px}
.co-card-check{align-self:start;cursor:pointer}
.co-menu-button{width:26px;height:26px;display:grid;place-items:center;border:0;border-radius:7px;color:var(--muted);background:transparent;cursor:pointer;font-weight:800}
.co-menu-button:hover{color:#d71920;background:rgba(215,25,32,.09)}
.co-menu{position:absolute;right:0;top:30px;z-index:35;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 15px 35px rgba(0,0,0,.24);padding:5px;width:min(208px,calc(100vw - 45px))}
.co-menu button{display:block;text-align:left;width:100%;padding:9px 10px;font-size:11px;color:var(--text);background:transparent;border:0;border-radius:6px;cursor:pointer}
.co-menu button:hover{background:rgba(215,25,32,.1);color:#d71920}
.co-card-product{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;border-top:1px solid var(--border);padding-top:8px}
.co-card-product strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.co-card-product small{font-size:9px;white-space:nowrap;color:var(--muted)}
.co-card-tags{display:flex;gap:5px;flex-wrap:wrap}
.co-card-tags .tag{font-size:9px;padding:3px 6px}
.co-mini-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;border-top:1px solid var(--border);padding-top:8px}
.co-mini-details>div{display:grid;gap:2px;min-width:0}
.co-mini-details span{font-size:9px;color:var(--muted)}
.co-mini-details b{font-size:11px;overflow-wrap:anywhere}
.co-mini-actions{display:flex;align-items:center;gap:5px;margin-top:auto;flex-wrap:wrap}
.co-mini-actions .btn{font-size:9px;padding:7px 9px;min-height:30px;line-height:1.1}
.co-pager{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:7px}
.co-pager span{font-size:11px;color:var(--muted)}
.co-order-detail-modal{width:min(640px,calc(100vw - 22px))!important}
@media(max-width:1500px){.co-manager .co-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1130px){.co-manager .co-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.co-manager-layout{grid-template-columns:1fr}.co-status-nav{display:flex;overflow:auto;position:static;gap:5px;scrollbar-width:thin}
 .co-status-nav button{white-space:nowrap;gap:7px;flex:0 0 auto}.co-status-nav button.active{box-shadow:inset 0 -3px #d71920}
 .co-manager .co-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.co-manager .co-cards{grid-template-columns:1fr}.co-manager .co-list-tools{flex-direction:column;align-items:stretch}
 .co-manager .co-header-buttons{width:100%}.co-manager .co-header-buttons .btn{flex:1}
 .co-select-all{align-self:flex-end}.co-manager .co-mini-card{min-height:210px}}


/* Encomendas — abas superiores, filtros, cards expansíveis e recibo público */
.co-manager-top{gap:13px}
.co-manager-top .co-status-horizontal{position:static;display:flex;flex-wrap:wrap;gap:7px;overflow:visible;background:var(--panel);padding:8px;border:1px solid var(--border);border-radius:12px}
.co-manager-top .co-status-horizontal button{width:auto;flex:0 1 auto;min-width:110px;min-height:39px;display:flex;justify-content:center;gap:8px;padding:9px 12px;border-radius:8px;white-space:nowrap;font-size:11px}
.co-manager-top .co-status-horizontal button.active{box-shadow:inset 0 -3px #d71920}
.co-manager-top .co-status-horizontal button b{font-size:10px}
.co-filter-panel{display:grid;gap:10px;padding:12px;background:var(--panel);border:1px solid var(--border);border-radius:12px}
.co-filter-search .input{width:100%;height:41px;font-size:12px;border-radius:9px}
.co-filter-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.co-filter-controls .field{flex:1;min-width:145px;max-width:270px}
.co-filter-controls .field label{font-size:10px;color:var(--muted);font-weight:750;margin-bottom:5px}
.co-filter-controls .select{min-height:38px;height:38px;border-radius:8px;font-size:11px}
.co-filter-controls .btn{min-height:38px;font-size:10px;padding:8px 11px}
.co-results-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px;color:var(--muted);font-size:11px}
.co-manager-top .co-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:start}
.co-manager-top .co-mini-card{cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;min-height:217px}
.co-manager-top .co-mini-card:hover{border-color:rgba(215,25,32,.36);box-shadow:0 4px 14px rgba(0,0,0,.08)}
.co-manager-top .co-mini-card:focus-visible{outline:2px solid #d71920;outline-offset:2px}
.co-manager-top .co-mini-card .co-card-head button,.co-manager-top .co-mini-card .co-card-head input{cursor:pointer}
.co-manager-top .co-card-expanded{border-color:rgba(215,25,32,.36);background:var(--panel);min-height:250px}
.co-manager-top .co-expanded-detail{display:grid;gap:10px;border-top:1px solid var(--border);padding-top:10px;font-size:11px;animation:co-expand .2s ease}
.co-expanded-title{display:grid;gap:3px}.co-expanded-title b{color:#d71920;font-size:10px;letter-spacing:.4px}
.co-expanded-title small{font-size:10px;color:var(--muted)}
.co-expanded-products{display:grid;gap:6px}
.co-expanded-products>div{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:7px 0;border-bottom:1px solid var(--border)}
.co-expanded-products span{font-size:11px;overflow-wrap:anywhere}.co-expanded-products b{font-size:11px}
.co-expanded-products small{color:var(--muted);font-size:9px;grid-column:1/-1}
.co-expanded-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.co-expanded-info span{display:grid;gap:2px;color:var(--muted);font-size:10px}
.co-expanded-info b{font-size:11px;color:var(--text)}
.co-expanded-subtitle{font-size:10px;color:var(--muted);text-transform:uppercase}
.co-expanded-payment{font-size:10px}.co-expanded-payment small{display:block;color:var(--muted);font-size:9px}
.co-expanded-notes{border:1px solid var(--border);border-radius:8px;padding:9px}
.co-expanded-notes b{font-size:10px}.co-expanded-notes p{font-size:11px;margin:5px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.co-menu .co-danger-action{color:#e5484d}.co-menu .co-danger-action:hover{background:rgba(215,25,32,.14)}
@keyframes co-expand{from{opacity:.5;transform:translateY(-4px)}to{opacity:1;transform:none}}
.co-edit-modal{max-width:790px!important}
.co-edit-form{display:grid;gap:11px}
.co-edit-banner,.co-cancel-warning{background:rgba(215,25,32,.07);border:1px solid rgba(215,25,32,.24);border-radius:10px;padding:11px}
.co-edit-banner b,.co-cancel-warning b{font-size:13px}.co-edit-banner p,.co-cancel-warning p{font-size:11px;color:var(--muted);margin:4px 0 0}
.co-edit-paid{background:var(--panel2);border:1px solid var(--border);padding:10px;border-radius:8px;font-size:11px}
.co-cancel-dialog{max-width:500px!important}
.co-cancel-modal{display:grid;gap:12px}
.co-cancel-amount{display:flex;align-items:center;justify-content:space-between;padding:11px;background:var(--panel2);border:1px solid var(--border);border-radius:8px;font-size:11px}
.co-cancel-amount strong{font-size:19px;color:#d71920}
.co-refund-note{border-left:3px solid #d71920;padding:8px 10px;color:var(--muted);font-size:11px;line-height:1.5;background:var(--panel2);border-radius:4px}
.co-refund-cash-check{display:flex;gap:7px;align-items:center;cursor:pointer;font-size:11px}
.co-refund-cash-check input{accent-color:#d71920}
#coRefundCashFields{display:grid;gap:10px}
#coRefundCashFields.hidden{display:none}
.co-public-page{min-height:100vh;background:#f1f3f5;color:#202329;padding:38px 14px;font-family:Arial,Helvetica,sans-serif}
.co-public-sheet{max-width:650px;margin:auto;background:#fff;border-radius:16px;box-shadow:0 12px 48px rgba(0,0,0,.08);padding:28px}
.co-public-header{text-align:center;padding-bottom:20px;border-bottom:2px solid #d71920}
.co-public-logo{min-height:55px;display:flex;justify-content:center;align-items:center}
.co-public-logo img{max-width:170px;max-height:75px;object-fit:contain}
.co-public-logo svg{width:46px;height:46px;color:#d71920}
.co-public-header h1{font-size:20px;color:#202329;margin:8px 0 3px}
.co-public-header p{font-size:11px;color:#626a73;margin:0}
.co-public-title{padding:18px 0;text-align:center}
.co-public-title span{letter-spacing:1.2px;font-size:10px;color:#d71920;font-weight:800}
.co-public-title h2{font-size:24px;margin:5px 0}.co-public-title p{font-size:11px;color:#6f7379}
.co-public-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:13px;background:#f6f7f8;border-radius:9px}
.co-public-meta div{display:grid;gap:4px}.co-public-meta small{font-size:10px;color:#767c82}.co-public-meta b{font-size:12px;color:#27292b;overflow-wrap:anywhere}
.co-public-sheet h3{font-size:13px;margin:24px 0 12px;color:#202329}
.co-public-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #eef0f1}
.co-public-item img,.co-public-item-icon{width:49px;height:49px;flex:0 0 49px;object-fit:contain;border:1px solid #edf0f2;border-radius:8px}
.co-public-item-icon{display:grid;place-items:center;background:#f8f8f8;color:#d71920}
.co-public-item>div:nth-child(2){flex:1;min-width:0;display:grid;gap:5px}.co-public-item b{font-size:12px;color:#1b1d1f}
.co-public-item small{font-size:10px;color:#6b737a}.co-public-item strong{font-size:12px;white-space:nowrap}
.co-public-note{margin-top:13px;padding:10px;background:#f8f8f8;border-radius:8px;font-size:12px}.co-public-note p{margin-bottom:0;white-space:pre-wrap}
.co-public-totals{margin-top:18px;display:grid;gap:8px;border-top:2px solid #d71920;padding-top:13px}
.co-public-totals div{display:flex;justify-content:space-between;font-size:12px}
.co-public-totals strong{font-size:14px}
.co-public-sheet footer{border-top:1px solid #eee;padding-top:17px;margin-top:20px;text-align:center}
.co-public-sheet footer p{font-size:10px;color:#74777c;margin-top:12px}
@media(max-width:1450px){.co-manager-top .co-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1080px){.co-manager-top .co-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.co-manager-top .co-status-horizontal{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}
 .co-manager-top .co-status-horizontal button{flex:0 0 auto;min-width:112px}
 .co-filter-controls .field{min-width:135px}
 .co-manager-top .co-cards{grid-template-columns:1fr}
 .co-public-page{padding:0}.co-public-sheet{border-radius:0;box-shadow:none;min-height:100vh;padding:18px}}
@media print{.co-public-page{padding:0;background:#fff}.co-public-sheet{box-shadow:none;padding:0;max-width:none}
 .co-public-sheet footer .btn{display:none}.co-public-sheet footer{margin-top:10px}.co-public-item{break-inside:avoid}}

.co-public-refund{color:#a71217;font-weight:750;border-top:1px solid #f1c7c7;margin-top:4px;padding-top:10px}.co-public-refund strong{color:#a71217}

/* DEV — Encomendas e Orçamento Rápido */
.co-manager-top .co-filter-controls .field label{font-size:11px;line-height:1.35;letter-spacing:.3px}
.co-manager-top .co-filter-controls .select{font-size:13px;line-height:1.35;font-weight:550;height:40px;min-height:40px;padding:8px 33px 8px 12px;color:var(--text)}
.co-manager-top .co-mini-card{padding:10px 12px;gap:8px;min-height:193px;border-radius:12px}
.co-manager-top .co-mini-card.co-card-expanded{min-height:220px}
.co-manager-top .co-mini-card .co-icon{width:34px;height:34px;flex:0 0 34px}
.co-manager-top .co-mini-details{padding-top:7px;gap:5px}
.quick-quote-page .quick-quote-issue{font-size:11px;line-height:1.4;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:27px}
.quick-quote-page .co-card-product{padding-top:7px}
.modal.quick-quote-modal{width:min(640px,calc(100vw - 24px));max-height:88vh;overflow:auto}
.quick-quote-form{display:grid;gap:12px}
.quick-quote-info{font-size:11px;line-height:1.45;margin:0;padding:10px;border:1px solid var(--border);background:var(--panel2);border-radius:8px;color:var(--muted)}
.quick-quote-permission{display:flex;align-items:center;gap:8px;font-size:11px;grid-column:1/-1;cursor:pointer}
.quick-quote-permission input{accent-color:#d71920}
.quick-quote-form .co-fields .full{grid-column:1/-1}
.quick-quote-form .field small{font-size:10px;color:var(--muted)}
@media(max-width:680px){.quick-quote-form .co-fields{grid-template-columns:1fr}.quick-quote-form .co-fields .full{grid-column:auto}.quick-quote-page .co-results-bar small{display:none}}

/* Orçamento Rápido → O.S. DEV */
.os-quote-import{display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:space-between;gap:8px 15px;border:1px solid rgba(215,25,32,.3);background:rgba(215,25,32,.055);border-radius:10px;padding:12px;margin-bottom:10px}
.os-quote-import>div{flex:1;min-width:170px;display:grid;gap:5px}
.os-quote-import span{font-size:10px;color:#e43941;font-weight:800;letter-spacing:.45px}
.os-quote-import b{font-size:15px}.os-quote-import p{margin:0;font-size:12px;color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap}
.os-quote-import strong{font-size:20px;color:#29b877}
.os-quote-import>small{width:100%;color:var(--muted);font-size:11px;line-height:1.4}
.quick-quote-page [data-qq-open-os]{font-weight:750}
.quick-quote-page .co-menu .co-danger-action{color:#e5484d}

/* DEV — Seleção do cliente na O.S. */
.os-change-selection{padding:9px 11px;margin-top:10px;font-size:11px;border:1px solid var(--border);border-radius:9px;background:var(--panel2)}
.os-change-selection b{color:var(--text);font-size:12px}

/* PDV: edicao pontual de preco unitario, sem alterar o cadastro do produto. */
.pdv-cart-price-meta{display:flex;align-items:center;flex-wrap:wrap;gap:3px 9px;margin-top:4px}
.pdv-price-change-btn,.pdv-price-reset-btn{background:none;border:0;padding:2px 0;color:var(--red);font-weight:800;font-size:10px;line-height:1.25;cursor:pointer;white-space:nowrap}
.pdv-price-reset-btn{color:var(--muted);font-weight:700}
.pdv-price-change-btn:hover,.pdv-price-reset-btn:hover{color:var(--text);text-decoration:underline}
.pdv-price-change-btn:focus-visible,.pdv-price-reset-btn:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:4px}
.pdv-sale-price-editor{display:flex;align-items:center;flex-wrap:wrap;gap:7px;padding:8px;margin:7px 0 0;background:var(--panel2);border:1px solid var(--border);border-radius:9px}
.pdv-sale-price-editor label{font-size:10px;color:var(--muted);font-weight:700;flex:1 1 120px}
.pdv-sale-price-editor input{flex:0 1 122px;width:122px;min-width:85px;font-size:12px!important;text-align:right;padding:6px 8px!important}
.pdv-sale-price-editor .btn{min-height:32px;padding:6px 9px;font-size:10px}
@media(max-width:460px){.pdv-sale-price-editor label{flex-basis:100%}.pdv-sale-price-editor input{flex:1 1 95px}}

/* Compra v20261009: fluxo compacto com pesquisa e carrinho lado a lado.
   Baseado no fluxo operacional conhecido, com identidade visual Pronto Flux. */
.purchase-flow-modal{width:min(1460px,calc(100vw - 24px))!important;max-height:96vh!important}
.purchase-flow-modal .modal-body{max-height:calc(96vh - 116px)!important;overflow:hidden!important;padding:9px 11px!important}
.purchase-flow-modal .modal-head{min-height:45px!important;padding:9px 14px!important}
.purchase-flow-modal .modal-head h2{font-size:15px!important}
.purchase-flow-modal .modal-foot{padding:8px 11px!important}
.purchase-flow-shell{gap:6px!important;min-height:0}
.purchase-draft-status{min-height:24px!important}
.purchase-workbench{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:11px;min-height:430px;height:calc(96vh - 181px);max-height:820px;align-items:stretch}
.purchase-workbench-main{min-width:0;overflow-y:auto;overscroll-behavior:contain;padding-right:3px;display:flex;flex-direction:column;gap:8px}
.purchase-stage-tabs{flex:0 0 auto}
.purchase-workbench-main .purchase-stage-tabs button{min-height:43px!important;padding:5px 7px!important;gap:5px!important;grid-template-columns:24px minmax(0,1fr)}
.purchase-workbench-main .purchase-stage-number{width:23px;height:23px;font-size:9px}
.purchase-workbench-main .purchase-stage-tabs b{font-size:9px}
.purchase-workbench-main .purchase-stage-tabs small{font-size:7px}
.purchase-workbench-main .purchase-flow-section{flex:1 0 auto;min-width:0;border-radius:11px}
.purchase-workbench-main .purchase-section-head{min-height:43px;padding:8px 11px!important;grid-template-columns:28px minmax(0,1fr);gap:7px!important}
.purchase-workbench-main .purchase-section-number{width:26px;height:26px;font-size:11px}
.purchase-workbench-main .purchase-section-head h3{font-size:13px!important;margin:0}
.purchase-workbench-main .purchase-section-head p{font-size:9px;margin:2px 0 0}
.purchase-workbench-main .purchase-section-body{padding:11px!important}
.purchase-workbench-main .form-grid{gap:8px}
.purchase-workbench-main .field label{font-size:10px}
.purchase-workbench-main .field .input,.purchase-workbench-main .field .textarea{font-size:12px}
.purchase-workbench-main .purchase-step-actions{margin-top:9px}
.purchase-search-modes{display:flex;gap:2px;border:1px solid var(--border);border-radius:9px 9px 0 0;padding:3px;background:var(--panel2);margin-bottom:-1px;width:max-content;max-width:100%}
.purchase-search-modes button{border:0;border-bottom:2px solid transparent;padding:7px 10px;background:transparent;color:var(--muted);font-size:9px;font-weight:850;cursor:pointer}
.purchase-search-modes button.active{border-color:var(--red);color:var(--text)}
.purchase-search-modes button:hover{color:var(--red)}
.purchase-workbench-main .purchase-search-row{margin:0 0 7px;gap:7px}
.purchase-workbench-main #puSearch{height:43px;background:var(--panel2);border:1px solid var(--red);border-radius:10px;padding:0 13px;font-size:12px}
.purchase-workbench-main #puNewProduct{white-space:nowrap;font-size:9px;min-height:43px;padding:8px 11px}
.purchase-pick-product{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:9px;align-items:center;width:100%;text-align:left;background:var(--panel2);border:1px solid var(--border);border-radius:9px;padding:7px;margin:4px 0;color:var(--text);cursor:pointer}
.purchase-pick-product:hover,.purchase-pick-product:focus-visible{border-color:var(--red);background:color-mix(in srgb,var(--red) 8%,var(--panel2))}
.purchase-pick-thumb,.purchase-selected-thumb,.purchase-cart-thumb{background:var(--panel3);border:1px solid var(--border);border-radius:8px;display:grid;place-items:center;color:var(--muted);overflow:hidden;font-size:19px}
.purchase-pick-thumb{width:40px;height:40px}
.purchase-pick-thumb img,.purchase-selected-thumb img,.purchase-cart-thumb img{width:100%;height:100%;object-fit:contain}
.purchase-pick-name{min-width:0;display:grid;gap:3px}
.purchase-pick-name b{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.purchase-pick-name small,.purchase-pick-price small{font-size:8px;color:var(--muted)}
.purchase-pick-price{text-align:right;display:grid;gap:2px}
.purchase-pick-price strong{font-size:12px}
.purchase-search-no-match{border:1px dashed var(--border);border-radius:8px;padding:13px;color:var(--muted);font-size:11px}
.purchase-chosen-product:not(:empty){margin:8px 0;background:var(--panel2);border:1px solid color-mix(in srgb,var(--red) 35%,var(--border));border-radius:11px;padding:10px;display:grid;gap:9px}
.purchase-selected-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center}
.purchase-selected-thumb{width:48px;height:48px}
.purchase-selected-head>div:nth-child(2){min-width:0;display:grid;gap:3px}
.purchase-selected-head b{font-size:12px;line-height:1.3}
.purchase-selected-head small{font-size:9px;color:var(--muted)}
.purchase-selected-total{text-align:right;display:grid;gap:3px}
.purchase-selected-total strong{color:var(--red);font-size:17px}
.purchase-selected-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.purchase-selected-controls label,.purchase-selected-sale>label:first-child{display:grid;gap:4px;font-size:9px;color:var(--muted);font-weight:800}
.purchase-selected-controls input,.purchase-selected-sale input.input{padding:10px;font-size:13px;background:var(--panel);color:var(--text)}
.purchase-stock-next{display:flex;justify-content:space-between;align-items:center;background:var(--panel3);padding:8px;border-radius:8px;gap:6px;color:var(--muted);font-size:8px;font-weight:800}
.purchase-stock-next span{display:grid;gap:4px}
.purchase-stock-next b{color:var(--text);font-size:14px}
.purchase-stock-next span:last-child b{color:var(--success)}
.purchase-selected-sale{display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,1fr);gap:10px;align-items:end}
.purchase-selected-sale .check{align-items:center;display:flex;gap:7px;font-size:9px;line-height:1.4;color:var(--muted)}
.purchase-selected-actions{display:grid;grid-template-columns:minmax(100px,.45fr) minmax(0,1fr);gap:7px}
.purchase-selected-actions button{min-height:38px;font-size:10px}
.purchase-edit-existing{margin-top:10px;border:1px dashed var(--border);border-radius:9px;padding:7px}
.purchase-edit-existing summary{cursor:pointer;font-size:9px;color:var(--muted);font-weight:850}
.purchase-edit-existing[open] summary{color:var(--red);margin-bottom:8px}
.purchase-workbench-cart{min-height:0;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:13px;overflow:hidden;box-shadow:var(--shadow)}
.purchase-cart-head{display:flex;justify-content:space-between;align-items:center;padding:12px;gap:7px;border-bottom:1px solid var(--border)}
.purchase-cart-head>div{display:grid;gap:3px}
.purchase-cart-head b{font-size:12px}
.purchase-cart-head .tag{font-size:8px}
.purchase-cart-items{flex:1;min-height:135px;overflow-y:auto;overscroll-behavior:contain;padding:8px}
.purchase-cart-empty{display:grid;place-items:center;text-align:center;align-content:center;gap:8px;min-height:180px;padding:25px;color:var(--muted)}
.purchase-cart-empty b{color:var(--text);font-size:12px}
.purchase-cart-empty span{font-size:10px;max-width:220px}
.purchase-cart-entry{display:grid;grid-template-columns:15px 38px minmax(0,1fr) auto;align-items:start;gap:6px;padding:9px 3px;border-bottom:1px solid var(--border)}
.purchase-cart-index{font-size:9px;color:var(--muted);padding-top:7px}
.purchase-cart-thumb{width:38px;height:38px;font-size:14px}
.purchase-cart-description{min-width:0;display:grid;gap:3px}
.purchase-cart-description>b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.purchase-cart-description>small{font-size:8px;color:var(--muted)}
.purchase-cart-fields{display:grid;grid-template-columns:minmax(90px,1fr) 70px;gap:7px;margin-top:5px}
.purchase-cart-fields label{display:grid;gap:3px;font-size:8px;color:var(--muted);font-weight:850}
.purchase-cart-fields input{width:100%;min-width:0;min-height:29px!important;padding:4px 6px!important;font-size:10px!important;color:var(--text)}
.purchase-cart-value{display:grid;justify-items:end;gap:8px;white-space:nowrap}
.purchase-cart-value strong{font-size:11px}
.purchase-cart-remove{border:1px solid var(--border);border-radius:7px;background:var(--panel2);color:var(--red);font-size:17px;width:25px;height:25px;cursor:pointer}
.purchase-cart-remove:hover{background:var(--red);color:#fff}
.purchase-cart-footer{flex:0 0 auto;padding:10px;border-top:1px solid var(--border);background:var(--panel2);display:grid;gap:7px}
.purchase-cart-meta,.purchase-cart-due{display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:10px;color:var(--muted)}
.purchase-cart-meta b,.purchase-cart-due b{color:var(--text);font-size:11px}
.purchase-cart-grand{display:flex;align-items:center;justify-content:space-between;gap:9px;background:linear-gradient(110deg,#9b1118,var(--red));color:#fff;border-radius:9px;padding:11px}
.purchase-cart-grand span{font-size:9px;font-weight:950;letter-spacing:.05em}
.purchase-cart-grand b{font-size:20px;font-weight:950}
.purchase-cart-footer>.btn{min-height:39px;font-size:10px}
.purchase-quick-photo-preview{min-height:35px;border:1px dashed var(--border);border-radius:8px;padding:7px;color:var(--muted);font-size:10px;display:flex;align-items:center;gap:10px}
.purchase-quick-photo-preview img{width:48px;height:48px;object-fit:contain;border-radius:7px;background:var(--panel2)}
@media(max-width:940px){
 .purchase-flow-modal .modal-body{overflow:auto!important}
 .purchase-workbench{grid-template-columns:1fr;max-height:none;height:auto}
 .purchase-workbench-main{overflow:visible;max-height:none}
 .purchase-workbench-cart{min-height:270px;max-height:550px}
 .purchase-cart-items{max-height:340px}
}
@media(max-width:560px){
 .purchase-flow-modal{width:calc(100vw - 10px)!important}
 .purchase-flow-modal .modal-body{padding:6px!important}
 .purchase-workbench-main .purchase-stage-tabs small{display:none}
 .purchase-workbench-main .purchase-stage-tabs b{font-size:8px}
 .purchase-selected-sale{grid-template-columns:1fr}
 .purchase-selected-head{grid-template-columns:38px minmax(0,1fr);gap:6px}
 .purchase-selected-thumb{width:38px;height:38px}
 .purchase-selected-total{grid-column:1/-1;display:flex;justify-content:flex-end}
 .purchase-workbench-main .purchase-search-row{flex-wrap:wrap}
 .purchase-workbench-main #puSearch{min-width:0;width:100%}
 .purchase-cart-grand b{font-size:17px}
}

/* PRONTO FLUX · Tamanho padrão dos botões (referência: barra Receber lote / Inventário)
   Preserva botões de ícone, seletores e comandos específicos e não muda a navegação. */
:root{--pf-action-height:36px}
.btn:not(.icon-only):not(.circle),.modal .btn:not(.icon-only):not(.circle){
  min-height:var(--pf-action-height)!important;
  height:auto!important;
  padding:8px 12px!important;
  border-radius:9px!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.25!important;
  letter-spacing:0!important;
  max-width:100%;
  text-align:center;
  white-space:normal;
  text-wrap:balance;
}
.btn.small:not(.icon-only){min-height:30px!important;padding:6px 9px!important;font-size:10px!important}
.btn.block{width:100%;max-width:100%;justify-content:center}
.modal .modal-foot{gap:7px!important;padding:9px 12px!important;align-items:center;flex-wrap:wrap}
.modal .modal-foot .btn{min-width:90px!important;min-height:36px!important;padding:8px 13px!important;font-size:11px!important}
.page-head .btn,.inventory-head .btn,.purchase-step-actions .btn,.product-actions .btn{
  min-height:34px!important;padding:7px 11px!important;font-size:11px!important;
}
/* Compras: controles proporcionais aos outros módulos, sem botões enormes. */
.purchase-flow-modal .btn,
.purchase-flow-modal .purchase-step-actions .btn,
.purchase-flow-modal .purchase-workbench-cart .btn,
.purchase-flow-modal .purchase-selected-actions .btn,
.purchase-flow-modal .purchase-search-row .btn,
.purchase-flow-modal .purchase-document-add,
.purchase-flow-modal .purchase-data-grid .btn,
.purchase-flow-modal .purchase-supplier-row .btn{
  min-height:35px!important;
  padding:8px 12px!important;
  border-radius:9px!important;
  font-size:11px!important;
  font-weight:800!important;
  line-height:1.3!important;
  letter-spacing:0!important;
}
.purchase-flow-modal .purchase-supplier-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}
.purchase-flow-modal .purchase-supplier-row .btn{max-width:205px!important;white-space:normal!important}
.purchase-flow-modal .purchase-search-row #puNewProduct{max-width:200px}
.purchase-flow-modal .purchase-cart-footer>.btn{min-height:38px!important}
.purchase-flow-modal .modal-foot .btn,
.purchase-flow-modal .modal-foot .btn.primary{min-height:36px!important;padding:8px 13px!important;font-size:11px!important;border-radius:9px!important}
.purchase-flow-modal .purchase-section-body input.input,
.purchase-flow-modal .purchase-section-body select.select,
.purchase-flow-modal .purchase-section-body input[type="date"]{
  min-height:36px!important;
  padding:8px 10px!important;
  font-size:12px!important;
}
.purchase-flow-modal .purchase-section-body textarea{min-height:68px!important;font-size:12px!important;padding:9px 10px!important}
.purchase-flow-modal .purchase-search-row #puSearch{min-height:40px!important;height:40px!important;font-size:12px!important}
.purchase-flow-modal .purchase-document-actions .btn,
.purchase-flow-modal .purchase-document-upload .btn{min-height:35px!important}
.purchase-flow-modal .purchase-selected-controls input,
.purchase-flow-modal .purchase-selected-sale input{font-size:12px!important}
/* Alvos clicáveis continuam legíveis no celular. */
@media(max-width:650px){
 .btn:not(.icon-only):not(.circle){min-height:38px!important}
 .purchase-flow-modal .purchase-supplier-row{grid-template-columns:minmax(0,1fr)}
 .purchase-flow-modal .purchase-supplier-row .btn{width:max-content!important;max-width:100%!important}
 .purchase-flow-modal .modal-foot{justify-content:stretch!important;display:grid!important;grid-template-columns:1fr 1fr}
 .purchase-flow-modal .modal-foot .btn{min-width:0!important;width:100%!important}
}

/* PRONTO FLUX 09/10/2026 — Nova compra mais compacta.
   Ajuste exclusivamente visual; sem mudança de etapas, pagamentos ou estoque. */
.purchase-flow-modal{
  width:min(1280px,calc(100vw - 24px))!important;
  max-height:90vh!important;
}
.purchase-flow-modal .modal-body{
  max-height:calc(90vh - 106px)!important;
  padding:8px 10px!important;
}
.purchase-flow-modal .modal-head{min-height:43px!important;padding:8px 13px!important}
.purchase-flow-modal .modal-foot{padding:8px 11px!important}
.purchase-flow-modal .purchase-flow-shell{gap:5px!important}
.purchase-flow-modal .purchase-workbench{
  grid-template-columns:minmax(0,1.03fr) minmax(320px,.97fr);
  height:calc(90vh - 166px);
  min-height:390px;
  max-height:660px;
  gap:9px;
}
.purchase-flow-modal .purchase-workbench-main{gap:6px;padding-right:2px}
.purchase-flow-modal .purchase-workbench-main .purchase-section-body{padding:9px!important}
.purchase-flow-modal .purchase-workbench-main .purchase-section-head{min-height:39px;padding:6px 9px!important}
.purchase-flow-modal .purchase-workbench-main .form-grid{gap:7px}
.purchase-flow-modal .purchase-section-body input.input,
.purchase-flow-modal .purchase-section-body select.select,
.purchase-flow-modal .purchase-section-body input[type="date"]{
  min-height:34px!important;
  padding:7px 9px!important;
  font-size:11px!important;
}
.purchase-flow-modal .purchase-section-body textarea{
  min-height:58px!important;
  padding:8px 9px!important;
  font-size:11px!important;
}
.purchase-flow-modal .purchase-document-upload{padding:8px!important}
.purchase-flow-modal .purchase-document-empty{padding:9px!important;min-height:36px!important}
.purchase-flow-modal .purchase-workbench-main .purchase-step-actions{margin-top:7px}
.purchase-flow-modal .purchase-cart-head{padding:9px 11px}
.purchase-flow-modal .purchase-cart-items{padding:7px}
.purchase-flow-modal .purchase-cart-footer{padding:8px}
.purchase-flow-modal .purchase-cart-grand{padding:9px 10px}
.purchase-flow-modal .purchase-cart-grand b{font-size:18px}
.purchase-flow-modal .purchase-cart-empty{min-height:145px;padding:14px}
@media(max-width:940px){
  .purchase-flow-modal{max-height:94vh!important}
  .purchase-flow-modal .modal-body{max-height:calc(94vh - 105px)!important;overflow-y:auto!important}
  .purchase-flow-modal .purchase-workbench{
    grid-template-columns:minmax(0,1fr)!important;
    min-height:0!important;height:auto!important;max-height:none!important;
  }
  .purchase-flow-modal .purchase-workbench-main{overflow:visible!important;max-height:none!important}
  .purchase-flow-modal .purchase-workbench-cart{min-height:220px;max-height:410px}
}
@media(max-width:560px){
  .purchase-flow-modal{width:calc(100vw - 10px)!important}
  .purchase-flow-modal .modal-body{padding:6px!important}
  .purchase-flow-modal .purchase-supplier-row{grid-template-columns:minmax(0,1fr)!important}
}

/* PRONTO FLUX 09/10 — abas compactas por etapa na listagem de Compras. */
.purchase-status-tabs{
  display:flex;align-items:center;gap:10px;
  margin:10px 0 13px;padding:9px 12px;
  border:1px solid var(--border);border-radius:14px;
  background:var(--panel);overflow-x:auto;scrollbar-width:thin;
}
.purchase-status-tabs button{
  display:inline-flex;align-items:center;justify-content:center;gap:11px;
  min-height:52px;flex:0 0 auto;padding:0 14px;
  border:0;border-bottom:3px solid transparent;border-radius:11px;
  background:transparent;color:var(--text);
  font-family:inherit;font-size:12px;font-weight:800;line-height:1.3;
  white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease;
}
.purchase-status-tabs button:hover{background:var(--panel2)}
.purchase-status-tabs button.active{
  color:var(--red);border-bottom-color:var(--red);
  background:color-mix(in srgb,var(--red) 14%,var(--panel));
}
.purchase-status-tabs button b{
  display:inline-grid;place-items:center;min-width:26px;height:23px;
  border-radius:8px;border:1px solid var(--border);
  padding:0 5px;background:var(--panel2);color:var(--muted);
  font-size:11px;font-weight:850;
}
.purchase-status-tabs button.active b{
  color:#fff;background:var(--red);border-color:var(--red);
}
.purchase-status-tabs button:focus-visible{
  outline:2px solid var(--red);outline-offset:2px;
}
.purchase-standard-card.purchase-cancelled{opacity:.86}
.purchase-standard-card .tag.purchase-cancelled-tag{
  background:color-mix(in srgb,var(--red) 16%,var(--panel2));
  color:var(--red);border:1px solid color-mix(in srgb,var(--red) 36%,var(--border));
}
.purchase-standard-card .standard-card-metrics .danger{color:var(--red)!important}
.purchase-standard-card .purchase-cancel-menu-option{color:var(--red)!important}
@media(max-width:700px){
  .purchase-status-tabs{gap:4px;padding:6px;overflow-x:auto}
  .purchase-status-tabs button{min-height:46px;padding:0 10px;font-size:11px;gap:7px}
  .purchase-status-tabs button b{height:22px;min-width:23px;font-size:10px}
}

/* PRONTO FLUX 09/10 — fotos inteiras e lista real no Estoque.
   Mantém dados, movimentações, preços e o menu de ações já existentes. */
#productGrid:not(.list-mode) .inventory-product-card .inventory-card-top{
  grid-template-columns:20px 54px minmax(0,1fr) 30px!important;
  gap:8px!important;
}
#productGrid:not(.list-mode) .inventory-product-card .product-card-thumb{
  width:54px!important;height:54px!important;
  min-width:54px!important;min-height:54px!important;
  box-sizing:border-box!important;
  border:1px solid color-mix(in srgb,var(--border) 75%,#fff)!important;
  border-radius:10px!important;
  padding:3px!important;
  background:#fff!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  overflow:hidden!important;
}
#productGrid:not(.list-mode) .inventory-product-card .product-card-thumb img,
#productGrid.list-mode .inventory-list-thumb img{
  display:block!important;
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center center!important;
  background:#fff!important;
  image-rendering:auto;
}
#productGrid:not(.list-mode) .inventory-product-card .product-card-thumb.item-placeholder{
  background:var(--panel2)!important;
  border-color:var(--border)!important;
}
#productGrid.list-mode{
  display:block!important;
  width:100%!important;
  grid-template-columns:none!important;
  min-height:0!important;
}
.inventory-list-table{
  background:var(--panel);
  border:1px solid var(--border);
  border-radius:12px;
  width:100%;
  min-width:0;
  overflow:visible;
}
.inventory-list-head,.inventory-list-row{
  display:grid!important;
  grid-template-columns:minmax(255px,3fr) minmax(112px,1.15fr) minmax(80px,.75fr) minmax(80px,.75fr) minmax(107px,1fr) minmax(130px,1.2fr) minmax(94px,.9fr) 49px;
  align-items:center;
  width:100%;
  min-width:0;
  gap:0;
}
.inventory-list-head{
  background:var(--panel2);
  color:var(--muted);
  border-radius:12px 12px 0 0;
  font-size:9px;
  font-weight:850;
  letter-spacing:.045em;
}
.inventory-list-head>div{
  padding:12px 8px;
  min-width:0;
  text-align:center;
}
.inventory-list-head>.inventory-list-product{text-align:left;padding-left:17px}
.inventory-list-row{
  border-top:1px solid var(--border);
  min-height:65px!important;
  height:auto!important;
  position:relative;
  font-size:11px;
  background:var(--panel);
}
.inventory-list-row:nth-child(odd){background:color-mix(in srgb,var(--panel2) 45%,var(--panel))}
.inventory-list-row:hover{background:color-mix(in srgb,var(--red) 5%,var(--panel))}
.inventory-list-row.inventory-list-selected{background:color-mix(in srgb,var(--red) 11%,var(--panel))}
.inventory-list-row>div{min-width:0;padding:7px 8px}
.inventory-list-row>.inventory-list-product{
  display:flex;align-items:center;gap:10px;padding-left:13px;
}
.inventory-list-row .inventory-card-check{
  flex:0 0 18px;
  padding-top:0!important;
  display:flex;align-items:center;justify-content:center;
}
.inventory-list-thumb{
  box-sizing:border-box;
  flex:0 0 45px;width:45px;height:45px;
  display:flex;align-items:center;justify-content:center;
  padding:3px;border:1px solid var(--border);border-radius:9px;
  overflow:hidden;background:#fff;color:var(--red);
}
.inventory-list-thumb.item-placeholder{background:var(--panel2)}
.inventory-list-thumb.item-placeholder svg{width:24px;height:24px}
.inventory-list-name{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.inventory-list-name>b{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  line-height:1.32;
  font-size:11px;
  font-weight:800;
  color:var(--text);
  overflow-wrap:anywhere;
}
.inventory-list-name>small{
  color:var(--muted);
  font-size:9px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  max-width:100%;
}
.inventory-list-status{font-size:7px!important;line-height:1.1!important;padding:3px 5px!important}
.inventory-list-barcode{text-align:center;overflow-wrap:anywhere;color:var(--muted)}
.inventory-list-price1,.inventory-list-price2{text-align:center;white-space:nowrap}
.inventory-list-price1{font-weight:850;color:var(--text)}
.inventory-list-price2{color:var(--muted)}
.inventory-list-stock{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:5px;
  text-align:center;
}
.inventory-list-stock>b{white-space:nowrap;font-weight:850}
.inventory-list-stock>b.danger{color:var(--danger)}
.inventory-list-stock>b.warning{color:var(--warning)}
.inventory-list-stock>b.success{color:var(--success)}
.inventory-list-quick{display:inline-flex;gap:3px}
.inventory-list-quick button{
  width:22px;height:22px;display:grid;place-items:center;
  padding:0;border:1px solid var(--border);border-radius:6px;
  color:var(--text);background:var(--panel2);
  cursor:pointer;font-size:15px;font-weight:800;
}
.inventory-list-quick button:last-child{color:var(--success)}
.inventory-list-quick button:hover{border-color:var(--red)}
.inventory-list-group{display:grid;gap:4px;text-align:center}
.inventory-list-group>b{
  font-size:10px;font-weight:700;color:var(--text);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.inventory-list-group>small{
  font-size:9px;color:var(--muted);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.inventory-list-supplier{text-align:center;color:var(--muted);overflow-wrap:anywhere}
.inventory-list-actions{display:flex;justify-content:center;align-items:center;position:relative}
.inventory-list-row .inventory-card-menu{grid-column:auto!important;grid-row:auto!important;justify-self:auto!important;position:relative;z-index:3}
.inventory-list-row .product-options-menu.open{z-index:60}
.inventory-list-row:has(.product-options-menu.open){z-index:20}
.inventory-list-empty{padding:26px!important}
@media(max-width:1420px){
  .inventory-list-head,.inventory-list-row{
    grid-template-columns:minmax(250px,2.8fr) minmax(110px,1fr) minmax(80px,.75fr) minmax(80px,.7fr) minmax(120px,1.1fr) minmax(110px,1.05fr) 45px;
  }
  .inventory-list-supplier{display:none!important}
}
@media(max-width:1130px){
  .inventory-list-head,.inventory-list-row{
    grid-template-columns:minmax(210px,2.5fr) minmax(105px,1fr) minmax(85px,.85fr) minmax(116px,1.2fr) 45px;
  }
  .inventory-list-price2,.inventory-list-group{display:none!important}
}
@media(max-width:720px){
  .inventory-list-head,.inventory-list-row{
    grid-template-columns:minmax(0,1fr) minmax(85px,.35fr) 40px;
  }
  .inventory-list-head .inventory-list-barcode,
  .inventory-list-row .inventory-list-barcode,
  .inventory-list-price1{display:none!important}
  .inventory-list-row>.inventory-list-product{padding-left:7px;gap:6px}
  .inventory-list-thumb{flex-basis:41px;width:41px;height:41px}
  .inventory-list-name>b{font-size:10px}
  .inventory-list-stock{gap:4px}
  .inventory-list-quick button{width:21px;height:21px}
  .inventory-list-head>div{font-size:8px}
}
@media(max-width:500px){
  #productGrid:not(.list-mode) .inventory-product-card .inventory-card-top{
    grid-template-columns:18px 48px minmax(0,1fr) 28px!important;
    gap:5px!important;
  }
  #productGrid:not(.list-mode) .inventory-product-card .product-card-thumb{
    width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;
  }
}

/* 09/10/2026 · Ajustes finais de legibilidade — Produtos, Vendas e Histórico Técnico. */

/* Produto: mais área útil para a fotografia, sem deformar nem perder as bordas. */
#productGrid:not(.list-mode) .inventory-product-card{
  height:258px!important;min-height:258px!important;
}
#productGrid:not(.list-mode) .inventory-product-card .inventory-card-top{
  grid-template-columns:19px 74px minmax(0,1fr) 30px!important;
  grid-template-rows:auto!important;
  align-items:start!important;gap:8px!important;
}
#productGrid:not(.list-mode) .inventory-product-card .product-card-thumb{
  box-sizing:border-box!important;
  width:74px!important;height:74px!important;
  min-width:74px!important;min-height:74px!important;
  padding:1px!important;
  background:#fff!important;
  border:1px solid var(--border)!important;
  border-radius:11px!important;
  display:flex!important;
  align-items:center!important;justify-content:center!important;
  overflow:hidden!important;
}
#productGrid:not(.list-mode) .inventory-product-card .product-card-thumb img,
#productGrid.list-mode .inventory-list-thumb img{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;height:100%!important;
  max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:50% 50%!important;
  margin:0!important;padding:0!important;
  background:#fff!important;
  border-radius:7px!important;
  image-rendering:auto!important;
  transform:none!important;
}
#productGrid:not(.list-mode) .inventory-product-card .product-card-thumb.item-placeholder{
  background:var(--panel2)!important;
}
#productGrid.list-mode .inventory-list-thumb{
  width:56px!important;height:56px!important;
  flex-basis:56px!important;padding:1px!important;
  background:#fff!important;border-radius:9px!important;
}
#productGrid.list-mode .inventory-list-thumb.item-placeholder{background:var(--panel2)!important}
#productGrid.list-mode .inventory-list-row{min-height:72px!important}
#productGrid:not(.list-mode) .inventory-product-card .product-card-head h3{
  white-space:normal!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  max-height:45px!important;
  overflow:hidden!important;
  line-height:1.24!important;
  margin-top:4px!important;
  font-size:11px!important;
}
@media(max-width:570px){
  #productGrid:not(.list-mode) .inventory-product-card .inventory-card-top{
    grid-template-columns:18px 62px minmax(0,1fr) 28px!important;
    gap:6px!important;
  }
  #productGrid:not(.list-mode) .inventory-product-card .product-card-thumb{
    width:62px!important;height:62px!important;
    min-width:62px!important;min-height:62px!important;
  }
  #productGrid.list-mode .inventory-list-thumb{width:45px!important;height:45px!important;flex-basis:45px!important}
}

/* Listagem de Vendas: cada dado ocupa seu espaço e não invade o vizinho. */
.sales-card-list .sale-list-card{
  box-sizing:border-box!important;
  min-width:0!important;
}
.sales-card-list .sale-list-main{
  min-width:0!important;
  width:100%!important;
}
.sales-card-list .sale-list-ident,
.sales-card-list .sale-list-value,
.sales-card-list .sale-list-date{
  min-width:0!important;
  position:relative!important;
}
.sales-card-list .sale-list-ident>span,
.sales-card-list .sale-list-ident>small,
.sales-card-list .sale-list-date>b,
.sales-card-list .sale-list-date>small{
  overflow-wrap:anywhere!important;
  line-height:1.35!important;
}
.sales-card-list .sale-list-value>b{
  display:block!important;line-height:1.25!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
}
.sales-card-list.collection-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr))!important;
  gap:11px!important;
}
.sales-card-list.collection-grid .sale-list-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:230px!important;
  height:auto!important;
  padding:13px!important;
  overflow:visible!important;
}
.sales-card-list.collection-grid .sale-list-main{
  display:grid!important;
  grid-template-columns:60px minmax(0,1fr)!important;
  grid-template-rows:auto auto auto!important;
  align-items:start!important;
  gap:11px 12px!important;
}
.sales-card-list.collection-grid .sale-list-avatar{
  grid-column:1!important;grid-row:1!important;
  width:56px!important;height:56px!important;
}
.sales-card-list.collection-grid .sale-list-ident{
  grid-column:2!important;grid-row:1!important;
  padding-top:2px!important;
}
.sales-card-list.collection-grid .sale-list-ident>strong{
  line-height:1.3!important;
  overflow-wrap:anywhere!important;
}
.sales-card-list.collection-grid .sale-list-value,
.sales-card-list.collection-grid .sale-list-date{
  grid-column:1/-1!important;
  display:grid!important;
  gap:3px!important;
  margin:0!important;
  padding:8px 10px!important;
  background:color-mix(in srgb,var(--panel2) 68%,transparent)!important;
  border:1px solid var(--border)!important;
  border-radius:9px!important;
  align-self:stretch!important;
}
.sales-card-list.collection-grid .sale-list-value{grid-row:2!important}
.sales-card-list.collection-grid .sale-list-date{grid-row:3!important}
.sales-card-list.collection-grid .sale-list-value>b{
  font-size:20px!important;
}
.sales-card-list.collection-grid .sale-list-date>b{font-size:12px!important;line-height:1.25!important}
.sales-card-list.collection-grid .sale-list-date>small{display:block!important;font-size:10px!important}
.sales-card-list.collection-grid .sale-options-wrap{
  align-self:flex-end!important;
  justify-self:auto!important;
  margin:0!important;padding:0!important;
}
.sales-card-list.collection-list{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}
.sales-card-list.collection-list .sale-list-card{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  min-height:96px!important;
  height:auto!important;
  gap:12px!important;
}
.sales-card-list.collection-list .sale-list-main{
  display:grid!important;
  grid-template-columns:54px minmax(175px,1.5fr) minmax(110px,.65fr) minmax(145px,.85fr)!important;
  gap:10px!important;
  align-items:center!important;
}
.sales-card-list.collection-list .sale-list-value,
.sales-card-list.collection-list .sale-list-date{
  display:grid!important;
  gap:4px!important;
  margin:0!important;
}
.sales-card-list.collection-list .sale-options-wrap{justify-self:end!important}
@media(max-width:990px){
  .sales-card-list.collection-list .sale-list-card{
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
  }
  .sales-card-list.collection-list .sale-list-main{
    grid-template-columns:50px minmax(0,1fr) minmax(110px,.55fr)!important;
    gap:10px!important;
  }
  .sales-card-list.collection-list .sale-list-ident{grid-column:2!important}
  .sales-card-list.collection-list .sale-list-value{grid-column:3!important}
  .sales-card-list.collection-list .sale-list-date{grid-column:2/-1!important;grid-row:2!important}
}
@media(max-width:620px){
  .sales-card-list.collection-list .sale-list-main{
    grid-template-columns:48px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
  }
  .sales-card-list.collection-list .sale-list-avatar{grid-column:1!important;grid-row:1!important}
  .sales-card-list.collection-list .sale-list-ident{grid-column:2!important;grid-row:1!important}
  .sales-card-list.collection-list .sale-list-value{grid-column:1/-1!important;grid-row:2!important}
  .sales-card-list.collection-list .sale-list-date{grid-column:1/-1!important;grid-row:3!important}
  .sales-card-list .sale-list-value>b{font-size:18px!important}
}

/* Histórico Técnico: abas na identidade visual Pronto Flux. */
.tech-history-page{max-width:100%;min-width:0}
.tech-history-tabs{
  display:flex;gap:9px;align-items:center;
  overflow-x:auto;scrollbar-width:thin;
  padding:9px;margin:12px 0 12px;
  background:var(--panel);
  border:1px solid var(--border);border-radius:13px;
}
.tech-history-tabs>button{
  display:inline-flex;gap:10px;align-items:center;justify-content:center;
  padding:11px 13px;border:0;border-bottom:3px solid transparent;
  border-radius:9px;min-height:47px;
  font-family:inherit;font-weight:850;font-size:11px;
  white-space:nowrap;cursor:pointer;
  background:transparent;color:var(--text);
}
.tech-history-tabs>button:hover{background:var(--panel2)}
.tech-history-tabs>button.active{
  color:var(--red);
  border-bottom-color:var(--red);
  background:color-mix(in srgb,var(--red) 13%,var(--panel));
}
.tech-history-tabs>button>b{
  display:grid;place-items:center;min-width:25px;height:23px;
  border:1px solid var(--border);border-radius:7px;
  padding:0 5px;font-size:10px;color:var(--muted);
  background:var(--panel2);
}
.tech-history-tabs>button.active>b{
  background:var(--red);color:#fff;border-color:var(--red);
}
.tech-history-tabs>button:focus-visible,
.tech-history-entry:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.tech-history-toolbar{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,245px);
  gap:11px;align-items:end;
  border:1px solid var(--border);
  background:var(--panel);border-radius:13px;
  padding:11px 13px;
}
.tech-history-search{position:relative;min-width:0}
.tech-history-search>span{
  position:absolute;left:15px;top:50%;transform:translateY(-50%);
  color:var(--red);font-size:23px;pointer-events:none;
}
.tech-history-search .input{
  min-height:43px!important;
  padding-left:40px!important;
  font-size:12px!important;
}
.tech-history-sort{display:grid;gap:4px;min-width:0}
.tech-history-sort>span{
  font-size:9px;color:var(--muted);font-weight:800;
}
.tech-history-sort .select{width:100%;min-height:43px!important;font-size:11px!important}
.tech-history-results{
  display:flex;justify-content:space-between;align-items:center;
  gap:10px;padding:9px 3px;
  color:var(--muted);font-size:10px;
}
.tech-history-results>span:first-child{font-weight:800;color:var(--text)}
.tech-history-records{display:grid;gap:8px;min-width:0}
.tech-history-entry{
  display:grid!important;
  grid-template-columns:46px minmax(160px,1.6fr) minmax(110px,.85fr) minmax(135px,.9fr) minmax(85px,.6fr) auto 14px!important;
  align-items:center;gap:10px;
  min-width:0;min-height:81px;
  width:100%;padding:11px 14px;
  border:1px solid var(--border);border-radius:12px;
  color:var(--text);text-align:left;
  background:var(--panel);
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease;
}
.tech-history-entry:hover{
  background:color-mix(in srgb,var(--red) 5%,var(--panel));
  border-color:color-mix(in srgb,var(--red) 34%,var(--border));
}
.tech-history-entry-icon{
  display:grid;place-items:center;
  width:42px;height:42px;
  border-radius:11px;
  background:color-mix(in srgb,var(--red) 10%,var(--panel2));
  border:1px solid color-mix(in srgb,var(--red) 20%,var(--border));
  color:var(--red);
  font-size:19px;font-weight:900;
}
.tech-history-entry-icon.sale{color:var(--success);background:color-mix(in srgb,var(--success) 10%,var(--panel2));border-color:color-mix(in srgb,var(--success) 22%,var(--border))}
.tech-history-entry-primary,.tech-history-entry-agent,.tech-history-entry-date,.tech-history-entry-amount{
  display:grid;gap:4px;min-width:0;
}
.tech-history-entry-primary>b{font-size:12px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tech-history-entry-primary>small{font-size:10px;color:var(--muted);line-height:1.3}
.tech-history-entry-primary>em{font-size:9px;color:var(--red);font-style:normal;font-weight:800}
.tech-history-entry-agent>small,.tech-history-entry-date>small,.tech-history-entry-amount>small{font-size:9px;color:var(--muted)}
.tech-history-entry-agent>b,.tech-history-entry-date>b{font-size:10px;color:var(--text);line-height:1.35;overflow-wrap:anywhere}
.tech-history-entry-amount>b{font-size:12px;color:var(--success);white-space:nowrap}
.tech-history-entry-status{justify-self:end;max-width:140px;white-space:nowrap;font-size:9px!important}
.tech-history-entry-arrow{justify-self:end;color:var(--muted);font-size:19px}
.tech-history-empty{border:1px dashed var(--border);border-radius:12px;padding:26px!important}
.tech-history-more{text-align:center;padding:12px;color:var(--muted);font-size:11px}
@media(max-width:1220px){
  .tech-history-entry{
    grid-template-columns:46px minmax(170px,1.5fr) minmax(105px,.85fr) minmax(120px,1fr) auto 14px!important;
  }
  .tech-history-entry-amount{display:none}
}
@media(max-width:800px){
  .tech-history-entry{
    grid-template-columns:42px minmax(0,1fr) auto 13px!important;
    gap:7px!important;padding:10px!important;
  }
  .tech-history-entry-agent,.tech-history-entry-date,.tech-history-entry-amount{display:none}
  .tech-history-entry-status{font-size:8px!important}
  .tech-history-toolbar{grid-template-columns:1fr}
  .tech-history-results>span:last-child{display:none}
}
@media(max-width:480px){
  .tech-history-entry{
    grid-template-columns:40px minmax(0,1fr) auto!important;
  }
  .tech-history-entry-arrow{display:none}
  .tech-history-entry-status{max-width:93px;white-space:normal}
  .tech-history-tabs{gap:4px;padding:5px}
  .tech-history-tabs>button{font-size:10px;padding:8px;min-height:42px}
}

/* DEV 09/10/2026: Área Técnica no padrão compacto de Encomendas e Orçamento Rápido.
   Escopo restrito ao dashboard; não muda O.S., estoque ou módulos de destino. */
.technical-page.tech-dashboard{display:grid!important;gap:11px!important;min-width:0}
.tech-dashboard-header{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:3px 2px 6px;
}
.tech-dashboard-title{min-width:0}
.tech-dashboard-title>span{
  color:var(--red);font-size:10px;font-weight:900;letter-spacing:.12em;
}
.tech-dashboard-title h1{font-size:27px;line-height:1.2;margin:5px 0 4px;font-weight:850;color:var(--text)}
.tech-dashboard-title p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}
.tech-dashboard-header>.btn{flex:0 0 auto;min-height:39px!important;font-size:11px!important}
.tech-dashboard-tabs{
  display:flex;align-items:center;gap:8px;min-width:0;
  border:1px solid var(--border);border-radius:14px;
  background:var(--panel);padding:9px;
  overflow-x:auto;scrollbar-width:thin;
}
.tech-dashboard-tabs>button{
  border:0;border-bottom:3px solid transparent;border-radius:10px;
  background:transparent;color:var(--text);
  display:flex;align-items:center;justify-content:center;gap:9px;
  padding:10px 12px;min-height:46px;flex:0 0 auto;
  font-family:inherit;font-weight:800;font-size:11px;line-height:1.3;white-space:nowrap;
  cursor:pointer;transition:background .16s ease;
}
.tech-dashboard-tabs>button:hover{background:var(--panel2)}
.tech-dashboard-tabs>button.active{
  background:color-mix(in srgb,var(--red) 13%,var(--panel));
  border-bottom-color:var(--red);color:var(--red);
}
.tech-dashboard-tabs>button>b{
  font-size:10px;font-weight:850;min-width:25px;height:24px;
  display:grid;place-items:center;padding:0 5px;border-radius:8px;
  border:1px solid var(--border);background:var(--panel2);color:var(--muted);
}
.tech-dashboard-tabs>button.active>b{
  background:var(--red);border-color:var(--red);color:#fff;
}
.tech-dashboard-tabs>button:focus-visible,
.tech-dashboard-stat:focus-visible,
.tech-dashboard-shortcut:focus-visible,
.tech-dashboard-item:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.tech-dashboard-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.tech-dashboard-stat{
  display:flex;flex-direction:column;justify-content:center;
  align-items:flex-start;text-align:left;
  min-width:0;min-height:74px;padding:10px 12px;
  background:var(--panel);border:1px solid var(--border);
  border-radius:12px;color:var(--text);cursor:pointer;
}
.tech-dashboard-stat:hover{border-color:color-mix(in srgb,var(--red) 45%,var(--border));background:var(--panel2)}
.tech-dashboard-stat>span{
  text-transform:uppercase;color:var(--muted);
  font-size:8px;font-weight:850;letter-spacing:.03em;
  line-height:1.3;
}
.tech-dashboard-stat>b{
  font-size:22px;line-height:1.2;font-weight:900;
  font-variant-numeric:tabular-nums;margin-top:4px;
}
.tech-dashboard-shortcuts{
  display:grid;gap:10px;border:1px solid var(--border);
  background:var(--panel);border-radius:14px;padding:12px;
}
.tech-dashboard-section-heading{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap}
.tech-dashboard-section-heading h2{font-size:13px;margin:0;font-weight:850}
.tech-dashboard-section-heading p{font-size:10px;color:var(--muted);margin:0}
.tech-dashboard-shortcut-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.tech-dashboard-shortcut{
  min-width:0;min-height:66px;
  display:grid;grid-template-columns:36px minmax(0,1fr) 10px;
  align-items:center;gap:8px;
  text-align:left;cursor:pointer;
  background:var(--panel2);color:var(--text);
  border:1px solid var(--border);border-radius:10px;
  padding:9px;
}
.tech-dashboard-shortcut:hover{border-color:color-mix(in srgb,var(--red) 45%,var(--border));background:color-mix(in srgb,var(--red) 5%,var(--panel2))}
.tech-dashboard-shortcut-icon{
  width:36px;height:36px;border-radius:10px;
  display:grid;place-items:center;
  color:var(--red);background:color-mix(in srgb,var(--red) 13%,var(--panel));
}
.tech-dashboard-shortcut-icon svg{width:21px;height:21px}
.tech-dashboard-shortcut-copy{min-width:0;display:grid;gap:4px}
.tech-dashboard-shortcut-copy>b{font-size:10px;line-height:1.25;white-space:normal;font-weight:850}
.tech-dashboard-shortcut-copy>small{color:var(--muted);font-size:9px;line-height:1.28}
.tech-dashboard-shortcut-arrow{justify-self:end;color:var(--red);font-size:18px}
.tech-dashboard-panel{
  min-width:0;overflow:visible;
  background:var(--panel);border:1px solid var(--border);
  border-radius:14px;
}
.tech-dashboard-panel-head{
  display:flex;justify-content:space-between;align-items:center;
  gap:12px;padding:12px 14px;
  border-bottom:1px solid var(--border);
}
.tech-dashboard-panel-head>div{min-width:0}
.tech-dashboard-panel-head h2{font-size:14px;margin:0 0 3px;font-weight:850}
.tech-dashboard-panel-head p{margin:0;color:var(--muted);font-size:10px}
.tech-dashboard-panel-head .btn{flex:0 0 auto;min-height:34px!important;font-size:10px!important}
.tech-dashboard-filters{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(155px,215px) auto;
  align-items:center;gap:9px;padding:12px 14px;
}
.tech-dashboard-search{position:relative;min-width:0}
.tech-dashboard-search>span{
  position:absolute;top:50%;left:13px;transform:translateY(-50%);
  color:var(--red);font-size:22px;pointer-events:none;
}
.tech-dashboard-search .input{
  width:100%;min-height:39px!important;
  padding:8px 9px 8px 36px!important;font-size:11px!important;
}
.tech-dashboard-filters .select{width:100%;min-height:39px!important;font-size:10px!important}
.tech-dashboard-filters .btn{min-height:39px!important;font-size:10px!important}
.tech-dashboard-result-line{
  padding:0 14px 9px;color:var(--muted);
  font-size:10px;line-height:1.3;
}
.tech-dashboard-list{display:grid;min-width:0}
.tech-dashboard-item{
  width:100%;min-width:0;min-height:60px;
  display:grid;
  grid-template-columns:minmax(77px,.65fr) minmax(170px,2fr) minmax(120px,1fr) minmax(135px,1fr) auto 18px;
  align-items:center;gap:9px;text-align:left;
  padding:10px 14px;border:0;border-top:1px solid var(--border);
  background:transparent;color:var(--text);cursor:pointer;
}
.tech-dashboard-item:hover{background:color-mix(in srgb,var(--red) 5%,var(--panel))}
.tech-dashboard-item-code{
  color:var(--red);font-weight:850;font-size:10px;overflow-wrap:anywhere;
}
.tech-dashboard-item-main{min-width:0;display:grid;gap:4px}
.tech-dashboard-item-main>b{
  font-size:11px;font-weight:850;overflow-wrap:anywhere;
}
.tech-dashboard-item-main>small{
  color:var(--muted);font-size:9px;line-height:1.4;
}
.tech-dashboard-item-secondary{min-width:0;display:grid;gap:4px;font-size:10px;color:var(--muted)}
.tech-dashboard-item-secondary>small{font-size:9px;color:var(--muted)}
.tech-dashboard-item-secondary>b{
  font-size:10px;font-weight:750;color:var(--text);overflow-wrap:anywhere;
}
.tech-dashboard-item-secondary>b.warning{color:var(--warning)}
.tech-dashboard-item-secondary>b.danger{color:var(--danger)}
.tech-dashboard-item-state{justify-self:end;white-space:nowrap;font-size:9px!important}
.tech-dashboard-item-chevron{justify-self:end;color:var(--muted);font-size:20px}
.tech-dashboard-empty{
  display:grid;justify-items:center;text-align:center;gap:6px;
  padding:30px 12px;border-top:1px solid var(--border);
}
.tech-dashboard-empty>b{font-size:12px;color:var(--text)}
.tech-dashboard-empty>small{font-size:10px;color:var(--muted)}
@media(max-width:1370px){
  .tech-dashboard-shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .tech-dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1000px){
  .tech-dashboard-item{grid-template-columns:77px minmax(0,2fr) minmax(105px,.8fr) auto 14px}
  .tech-dashboard-item-secondary:nth-of-type(4){display:none}
}
@media(max-width:760px){
  .tech-dashboard-tabs{gap:4px;padding:6px}
  .tech-dashboard-tabs>button{padding:8px 10px;min-height:42px;font-size:10px}
  .tech-dashboard-shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tech-dashboard-filters{grid-template-columns:minmax(0,1fr) auto}
  .tech-dashboard-search{grid-column:1/-1}
  .tech-dashboard-item{grid-template-columns:65px minmax(0,1fr) auto 12px;gap:7px;padding:10px}
  .tech-dashboard-item-secondary{display:none}
  .tech-dashboard-header{align-items:flex-start}
  .tech-dashboard-title h1{font-size:22px}
}
@media(max-width:490px){
  .tech-dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tech-dashboard-shortcut-grid{grid-template-columns:1fr}
  .tech-dashboard-item-state{max-width:88px;white-space:normal;line-height:1.25!important}
  .tech-dashboard-item{grid-template-columns:52px minmax(0,1fr) auto 10px}
  .tech-dashboard-header>.btn{min-height:36px!important;font-size:9px!important;padding:7px!important}
  .tech-dashboard-title p{font-size:10px}
}

/* Assinaturas MAIN: cadeados e mensagem de planos iguais ao DEV, sem ocultar módulos */
.nav-btn.plan-locked{opacity:.74}
.nav-btn.plan-locked:hover{opacity:1}
.plan-lock-badge{margin-left:auto;display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:999px;border:1px solid rgba(255,255,255,.12);font-size:8px;font-weight:900;letter-spacing:.02em;white-space:nowrap;color:var(--muted,#a8a8ad);background:rgba(255,255,255,.04)}
html.light .plan-lock-badge{border-color:rgba(20,20,24,.12);background:rgba(20,20,24,.04);color:#5d5d66}
.command-result.plan-locked .command-enter{font-size:9px;font-weight:900;white-space:nowrap}
.plan-access-denied{min-height:calc(100vh - 180px);display:grid;place-items:center;padding:28px}
.plan-access-denied-card{width:min(560px,100%);padding:30px;border:1px solid rgba(215,25,32,.28);border-radius:18px;background:var(--panel,#171719);box-shadow:0 24px 70px rgba(0,0,0,.22);text-align:center}
.plan-access-denied-icon{width:54px;height:54px;margin:0 auto 10px;border-radius:16px;display:grid;place-items:center;background:rgba(215,25,32,.14);color:#ff3940;font-size:25px;font-weight:900}
.plan-access-denied-kicker{display:block;margin-bottom:8px;color:#ef343b;font-size:9px;font-weight:950;letter-spacing:.14em}
.plan-access-denied-card h2{margin:0 0 8px;font-size:24px}
.plan-access-denied-card>p{margin:7px auto;color:var(--muted,#a8a8ad);line-height:1.55}
.plan-access-denied-required{margin:20px auto;padding:14px 18px;border-radius:12px;border:1px solid rgba(215,25,32,.2);background:rgba(215,25,32,.07);display:flex;flex-direction:column;gap:3px}
.plan-access-denied-required small{color:var(--muted,#a8a8ad);font-size:10px}
.plan-access-denied-required strong{font-size:18px;color:#f04a50}
.plan-access-denied-help{font-size:11px}
.plan-access-denied-actions{display:flex;justify-content:center;gap:8px;margin-top:22px;flex-wrap:wrap}
html.light .plan-access-denied-card{background:#fff;box-shadow:0 20px 55px rgba(25,25,30,.10)}
@media(max-width:620px){.plan-lock-badge{font-size:0;padding:3px 5px}.plan-access-denied{padding:14px}.plan-access-denied-card{padding:22px 16px}}


/* Bancos vinculados no formulário gerencial: ocupam toda a grade. */
.financial-account-form>.financial-account-bank-note{grid-column:1/-1;min-width:0}
.financial-account-bank-note{min-width:0}
.financial-account-bank-note b{white-space:normal}
.financial-account-bank-panel{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:16px;border-color:color-mix(in srgb,var(--red) 26%,var(--border));background:var(--panel2)}
.financial-account-bank-heading{display:grid;gap:5px;flex:1 1 300px;min-width:0}
.financial-account-bank-heading b{font-size:13px;color:var(--text)}
.financial-account-bank-heading>span{font-size:11px;line-height:1.5;color:var(--muted)}
.financial-account-linked-list{flex:1 1 100%;display:grid;gap:8px;font-size:12px;color:var(--muted);min-width:0}
.financial-account-bank-linked-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--border);background:var(--panel);border-radius:11px;min-width:0}
.financial-account-bank-dot{height:10px;width:10px;flex:none;border-radius:50%;background:var(--red);box-shadow:0 0 0 4px color-mix(in srgb,var(--red) 12%,transparent)}
.financial-account-bank-linked-info{display:grid;gap:4px;flex:1;min-width:0}
.financial-account-bank-linked-info strong{font-size:12px;color:var(--text);overflow-wrap:anywhere}
.financial-account-bank-linked-info small{font-size:10px;color:var(--muted);overflow-wrap:anywhere}
.financial-account-bank-linked-state{font-size:10px;font-weight:800;color:var(--red);white-space:nowrap}
.financial-account-bank-empty{border:1px dashed var(--border);border-radius:10px;padding:12px;color:var(--muted)}
.financial-account-bank-manage{margin-left:auto;white-space:nowrap}
@media(max-width:620px){.financial-account-bank-panel{padding:13px}.financial-account-bank-manage{width:100%;margin-left:0}}

/* Banco vinculado substitui apenas o icone visual da conta gerencial; sem escrita financeira. */
.finance-account-bank-main{width:34px;height:34px;display:grid;place-items:center}
.finance-account-bank-main .pf-bank-avatar{width:34px;height:34px;min-width:34px;border-radius:10px}
.finance-account-linked-bank-strip{border-top:1px solid var(--border);padding-top:9px;margin-top:10px;display:grid;gap:7px}
.finance-account-linked-bank-strip>span{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.finance-account-linked-bank-strip>div{display:flex;flex-wrap:wrap;gap:6px}
.finance-account-bank-pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:9px;padding:4px 8px 4px 4px;max-width:100%;background:var(--panel2)}
.finance-account-bank-pill .pf-bank-avatar{width:24px;height:24px;min-width:24px;border-radius:6px}
.finance-account-bank-pill .pf-bank-avatar svg{width:14px;height:14px}
.finance-account-bank-pill small{font-size:10px;color:var(--text);white-space:normal;overflow-wrap:anywhere}
.financial-account-bank-linked-item>.pf-bank-avatar{width:38px;height:38px;min-width:38px;border-radius:10px}

/* Login resiliente: feedback persistente e legível em iPhone/Android. */
.pf-auth-error:not([hidden]){display:block;margin:14px 0 0;padding:12px 14px;border:1px solid #f4adb3;background:#481f27;color:#ffe4e6;border-radius:11px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
html.light .pf-auth-error:not([hidden]){background:#fff1f2;color:#7f1d1d;border-color:#fecdd3}
#pfLoginForm button[type="submit"]:disabled{opacity:.65;cursor:progress;pointer-events:none}
@media(max-width:640px){#pfLoginForm input{font-size:16px}#registerBtn{min-height:45px}}
