:root{
  --purple-950:#1c0c46;
  --purple-900:#26105c;
  --purple-800:#351378;
  --purple-700:#4b1aa3;
  --purple-600:#6a20ff;
  --purple-500:#7d42ff;
  --purple-100:#eee8ff;
  --ink:#12132f;
  --muted:#727696;
  --line:#e8eaf4;
  --bg:#f7f8fc;
  --card:#fff;
  --cyan:#16b9ec;
  --magenta:#f50086;
  --yellow:#ffd91a;
  --green:#18b76a;
  --red:#ff4269;
  --shadow:0 10px 32px rgba(39,20,86,.08);
  --radius:18px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app{display:grid;grid-template-columns:270px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:22px 18px;background:linear-gradient(180deg,var(--purple-950),#15092f 76%);color:white;overflow:auto}
/* Brand block: logo larger and readable on the dark sidebar */
.brand-block{padding:2px 2px 18px}
.brand-card{height:112px;border-radius:18px;display:flex;align-items:center;justify-content:center;padding:13px 12px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(246,242,255,.94));border:1px solid rgba(255,255,255,.28);box-shadow:0 12px 32px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.8);overflow:hidden}
.brand-card img{display:block;width:100%;max-width:224px;max-height:86px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(37,16,92,.10))}
.brand-contact{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin-top:9px;color:#d8d2f2;font-size:10px;font-weight:800;letter-spacing:.015em}
.brand-contact span:first-child{color:#f1effa}
.nav{display:flex;flex-direction:column;gap:6px}
.nav button{width:100%;border:0;background:transparent;color:#e8e4f9;display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:13px;text-align:left;transition:.2s}
.nav button:hover{background:rgba(255,255,255,.08);color:white}
.nav button.active{background:linear-gradient(135deg,#7a2bff,#5b19ef);box-shadow:0 8px 24px rgba(108,31,255,.35);color:#fff}
.nav .icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.09);font-size:15px;flex:0 0 28px}
.nav button.active .icon{background:rgba(255,255,255,.18)}
.sidebar-footer{margin-top:28px;padding:18px 14px 8px;color:#9c92d3;font-weight:700;line-height:1.5;letter-spacing:.02em}
.cmyk-line{display:flex;gap:3px;margin-top:10px}.cmyk-line i{width:31px;height:4px;border-radius:9px;display:block}.c1{background:var(--cyan)}.c2{background:var(--magenta)}.c3{background:var(--yellow)}
.main{min-width:0}
.topbar{height:88px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.hello h1{margin:0;font-size:25px;line-height:1.15}.hello p{margin:6px 0 0;color:var(--muted);font-size:14px}
.top-actions{display:flex;align-items:center;gap:14px}.search{display:flex;align-items:center;gap:8px;background:#f4f5fb;border:1px solid #e5e7f2;border-radius:12px;padding:10px 13px;min-width:260px}.search input{border:0;outline:0;background:transparent;width:100%;color:var(--ink)}
.circle-btn{width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:12px;display:grid;place-items:center;position:relative}.badge{position:absolute;right:-5px;top:-5px;background:var(--magenta);color:#fff;width:19px;height:19px;border-radius:50%;font-size:11px;display:grid;place-items:center;border:2px solid #fff}
.user{display:flex;align-items:center;gap:10px;padding-left:4px}.avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#4b1aa3,#20104c);color:#fff;display:grid;place-items:center;font-weight:800}.user b{display:block;font-size:14px}.user small{color:var(--muted)}
.content{padding:24px 30px 36px}.view{display:none}.view.active{display:block}
.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.page-head h2{margin:0;font-size:28px}.page-head p{margin:6px 0 0;color:var(--muted)}
.btn{border:0;border-radius:12px;padding:11px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:linear-gradient(135deg,var(--purple-600),#5816df);color:#fff;box-shadow:0 8px 18px rgba(105,32,255,.22)}.btn-soft{background:var(--purple-100);color:var(--purple-700)}.btn-line{background:#fff;border:1px solid var(--line);color:var(--ink)}.btn-danger{background:#fff0f4;color:#e72d58}
.hero{min-height:164px;border-radius:20px;overflow:hidden;position:relative;background:radial-gradient(circle at 70% 55%,rgba(116,55,255,.55),transparent 34%),linear-gradient(120deg,#130a2f 0%,#27105e 60%,#150a31 100%);color:#fff;padding:24px 34px;display:flex;align-items:center;box-shadow:var(--shadow);margin-bottom:18px}
.hero:after{content:"";position:absolute;right:-30px;top:0;width:340px;height:100%;background:linear-gradient(125deg,transparent 22%,var(--cyan) 22% 29%,transparent 29% 37%,var(--magenta) 37% 44%,transparent 44% 52%,var(--yellow) 52% 59%,transparent 59%);opacity:.95;transform:skewX(-10deg)}
.hero h3{position:relative;z-index:1;margin:0;font-size:34px;line-height:1.02;font-weight:900;font-style:italic;text-transform:uppercase;max-width:560px}.hero h3 span{color:#8e53ff}.hero p{position:relative;z-index:1;margin:14px 0 0;color:#ded9f6;letter-spacing:.06em}
.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:17px;box-shadow:var(--shadow)}.metric-top{display:flex;justify-content:space-between;align-items:center}.metric .micon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;color:white;font-size:20px}.metric label{display:block;color:var(--muted);font-size:13px}.metric strong{display:block;font-size:23px;margin-top:7px}.trend{font-size:12px;margin-top:9px;color:var(--green)}.trend.red{color:var(--red)}
.grid-2{display:grid;grid-template-columns:1.45fr 1fr;gap:16px;margin-bottom:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow);padding:18px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.panel-head h3{margin:0;font-size:18px}.panel-head a,.link{color:var(--purple-600);font-size:13px;font-weight:700;text-decoration:none}
.chart{height:190px;display:flex;align-items:flex-end;gap:14px;padding:18px 8px 6px;border-bottom:1px solid var(--line);background:linear-gradient(#fff,#fbfbff)}.bar{flex:1;min-width:18px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#9b72ff,#6740e8);position:relative}.bar span{position:absolute;left:50%;transform:translateX(-50%);bottom:-25px;font-size:12px;color:var(--muted)}
.donut-wrap{display:flex;align-items:center;gap:22px;min-height:210px}.donut{width:156px;height:156px;border-radius:50%;background:#eceaf4;display:grid;place-items:center;flex:0 0 auto}.donut:after{content:"";display:block;width:98px;height:98px;border-radius:50%;background:#fff}.legend{display:grid;gap:11px;font-size:13px}.legend div{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:8px}.dot{width:9px;height:9px;border-radius:50%}
table{width:100%;border-collapse:collapse}.data-table th{font-size:12px;color:var(--muted);text-align:left;padding:10px 9px;border-bottom:1px solid var(--line);font-weight:700}.data-table td{font-size:13px;padding:11px 9px;border-bottom:1px solid #f0f1f6}.data-table tbody tr:hover{background:#fbfaff}.status{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:800}.paid{background:#dcf8e9;color:#07894a}.pending{background:#fff5d6;color:#b07a00}.expired{background:#f1f2f7;color:#6f748d}.rejected{background:#ffe7ee;color:#d92d55}.converted{background:#ebe3ff;color:#6625d6}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.quick-card{border:1px solid var(--line);background:#fff;border-radius:15px;padding:16px;display:flex;align-items:center;gap:13px;box-shadow:var(--shadow)}.quick-card .qicon{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;color:#fff}.quick-card b{display:block}.quick-card small{color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.field{grid-column:span 4}.field.span-6{grid-column:span 6}.field.span-8{grid-column:span 8}.field.span-12{grid-column:span 12}.field.span-3{grid-column:span 3}.field label{display:block;font-size:12px;font-weight:800;color:#555c79;margin-bottom:7px}.field input,.field select,.field textarea{width:100%;border:1px solid #dfe2ee;background:#fff;border-radius:11px;padding:11px 12px;outline:0;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{border-color:#9f7aff;box-shadow:0 0 0 3px rgba(126,66,255,.1)}.field textarea{min-height:95px;resize:vertical}
.quote-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:16px}.items-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;margin-top:16px}.items-toolbar{display:flex;gap:10px;padding:13px;background:#fafaff;border-bottom:1px solid var(--line)}.items-toolbar input{flex:1;border:1px solid #dfe2ee;border-radius:10px;padding:10px}.summary{display:grid;gap:10px}.summary-row{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px dashed var(--line)}.summary-row.total{font-size:20px;font-weight:900;color:var(--purple-700);border-top:1px solid var(--line);border-bottom:0;padding-top:15px}.saved-note{font-size:12px;color:var(--muted);margin-top:10px}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}.toolbar .search-mini{flex:1;min-width:220px}.toolbar input,.toolbar select{border:1px solid var(--line);background:#fff;padding:10px 12px;border-radius:11px;outline:0}
.settings-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.settings-tabs button{border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 13px;font-weight:700}.settings-tabs button.active{background:var(--purple-100);color:var(--purple-700);border-color:#d8ccff}.integration-card{display:grid;grid-template-columns:72px 1fr auto;gap:16px;align-items:start}.integration-logo{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#070707,#2f2f2f);display:grid;place-items:center;color:#fff;font-weight:900;font-size:12px;text-align:center}.switch{width:49px;height:28px;border-radius:999px;background:#d8dbe8;position:relative}.switch:after{content:"";position:absolute;width:22px;height:22px;border-radius:50%;background:#fff;top:3px;left:3px;box-shadow:0 2px 5px rgba(0,0,0,.18);transition:.2s}.switch.on{background:var(--green)}.switch.on:after{left:24px}
.empty-note{padding:28px;text-align:center;color:var(--muted);border:1px dashed #dfe2ee;border-radius:14px;background:#fbfbfe}
.footer{padding:14px 30px 24px;color:#858aa3;font-size:12px;display:flex;justify-content:space-between;gap:10px}.footer .mini-lines{display:flex;gap:2px}.footer .mini-lines i{width:20px;height:3px;border-radius:5px;display:block}
.toast{position:fixed;right:24px;bottom:24px;background:#16132b;color:#fff;padding:13px 16px;border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.2);opacity:0;transform:translateY(12px);pointer-events:none;transition:.25s;z-index:100}.toast.show{opacity:1;transform:translateY(0)}
@media (max-width:1200px){.cards{grid-template-columns:repeat(3,1fr)}.grid-2,.quote-layout{grid-template-columns:1fr}.quick{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){.app{grid-template-columns:78px 1fr}.sidebar{padding:14px 8px}.brand-block{padding:0 0 12px}.brand-card{height:58px;border-radius:12px;padding:6px}.brand-card img{max-width:58px;max-height:46px;object-fit:cover;object-position:left center}.brand-contact{display:none}.nav button{justify-content:center;padding:11px}.nav button span:not(.icon){display:none}.sidebar-footer{display:none}.topbar{padding:0 16px}.search{display:none}.content{padding:18px 16px}.cards{grid-template-columns:repeat(2,1fr)}.field,.field.span-3,.field.span-6,.field.span-8{grid-column:span 12}.quick{grid-template-columns:1fr}.user div:last-child{display:none}}
@media (max-width:560px){.topbar{height:78px}.hello h1{font-size:20px}.hello p{display:none}.cards{grid-template-columns:1fr}.hero h3{font-size:27px}.hero{padding:22px}.grid-2{gap:12px}.content{padding:14px 12px}.panel{padding:14px}.donut-wrap{flex-direction:column}.quick-card{padding:14px}.page-head{align-items:flex-start;flex-direction:column}.page-head .btn{width:100%}}

/* =====================================================
   V3 - RESPONSIVIDADE COMPLETA
   ===================================================== */
.mobile-menu-btn{display:none;width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:12px;font-size:22px;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:0 4px 14px rgba(26,18,56,.06)}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(12,8,34,.52);backdrop-filter:blur(2px);z-index:89}
.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:12px}
.table-scroll .data-table{min-width:680px}
img{max-width:100%}
button,input,select,textarea{font:inherit}

@media (max-width: 1100px){
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-2,.quote-layout{grid-template-columns:1fr}
  .quick{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero{min-height:145px}
  .donut-wrap{justify-content:center}
}

@media (max-width: 860px){
  body{overflow-x:hidden}
  .app{display:block;min-height:100vh}
  .sidebar{position:fixed;left:0;top:0;bottom:0;width:286px;z-index:90;transform:translateX(-102%);transition:transform .28s ease;box-shadow:18px 0 50px rgba(8,3,31,.26);padding:18px 14px;overflow-y:auto}
  .sidebar.open{transform:translateX(0)}
  .sidebar-overlay.show{display:block}
  .brand-block{padding:0 4px 16px}
  .brand-card{height:100px;padding:10px;border-radius:16px}
  .brand-card img{max-width:100%;max-height:82px;object-fit:contain;object-position:center}
  .brand-contact{display:flex}
  .nav button{justify-content:flex-start;padding:12px 13px}
  .nav button span:not(.icon){display:inline}
  .sidebar-footer{display:block}
  .main{width:100%;min-width:0}
  .topbar{height:auto;min-height:76px;padding:12px 16px;gap:12px;position:sticky;top:0;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .mobile-menu-btn{display:flex}
  .hello{min-width:0;flex:1}
  .hello h1{font-size:21px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .hello p{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .top-actions{gap:8px}
  .search{display:none}
  .user div:last-child{display:none}
  .content{padding:18px 16px}
  .hero{border-radius:16px;padding:24px;min-height:150px;background-position:center}
  .hero h3{font-size:30px;max-width:520px}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .metric{min-width:0}
  .metric strong{font-size:22px}
  .field,.field.span-3,.field.span-6,.field.span-8,.field.span-12{grid-column:span 12}
  .quick{grid-template-columns:repeat(2,minmax(0,1fr))}
  .toolbar{align-items:stretch}
  .toolbar .search-mini,.toolbar input,.toolbar select{min-width:0;flex:1 1 180px}
  .page-head{gap:12px}
  .panel{min-width:0}
  .integration-card{grid-template-columns:64px 1fr;align-items:center}
  .integration-card .switch{grid-column:2}
  .footer{padding:12px 16px 22px}
}

@media (max-width: 620px){
  .topbar{padding:10px 12px}
  .mobile-menu-btn{width:40px;height:40px}
  .circle-btn{width:40px;height:40px}
  .avatar{width:40px;height:40px}
  .content{padding:12px}
  .cards{grid-template-columns:1fr}
  .quick{grid-template-columns:1fr}
  .grid-2{gap:12px}
  .hero{min-height:132px;padding:20px}
  .hero h3{font-size:25px;line-height:1.03}
  .hero p{font-size:12px}
  .panel{padding:13px;border-radius:14px}
  .panel-head{align-items:flex-start;gap:8px;flex-wrap:wrap}
  .panel-head h3{font-size:16px}
  .donut-wrap{flex-direction:column;gap:16px}
  .donut{width:142px;height:142px}
  .legend{width:100%}
  .quote-layout{gap:12px}
  .items-toolbar{flex-direction:column}
  .items-toolbar .btn{width:100%}
  .page-head{align-items:stretch;flex-direction:column}
  .page-head .btn{width:100%}
  .toolbar{flex-direction:column}
  .toolbar .search-mini,.toolbar input,.toolbar select,.toolbar .btn{width:100%;flex:auto}
  .settings-tabs{display:grid;grid-template-columns:1fr 1fr}
  .settings-tabs button{width:100%}
  .integration-card{grid-template-columns:1fr;text-align:left}
  .integration-card .switch{grid-column:1}
  .summary-row.total{font-size:18px}
  .footer{flex-direction:column;align-items:flex-start}
  .toast{right:12px;left:12px;bottom:12px;text-align:center}
}

@media (max-width: 390px){
  .hello p{display:none}
  .hello h1{font-size:18px}
  .top-actions .user{display:none}
  .hero h3{font-size:22px}
  .metric{padding:14px}
  .metric strong{font-size:20px}
  .quick-card{padding:13px}
}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
}


/* =====================================================
   V4 - PRODUTOS FUNCIONAL
   ===================================================== */
.product-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}
.product-form-panel{border:1px solid rgba(106,32,255,.16);box-shadow:0 16px 42px rgba(50,24,110,.08)}
.panel-subtitle{margin:4px 0 0;color:var(--muted);font-size:12px}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.product-actions{display:flex;gap:6px;white-space:nowrap}
.action-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:15px;transition:.18s ease}
.action-btn:hover{transform:translateY(-1px);border-color:#c8b5ff;background:#faf8ff}
.action-btn.delete:hover{background:#fff0f4;border-color:#ffc5d4}
.stock-ok{background:#dcf8e9;color:#07894a}.stock-low{background:#ffe7ee;color:#d92d55}.stock-zero{background:#f3e8ff;color:#6a20ff}
.product-name-cell b{display:block}.product-name-cell small{display:block;color:var(--muted);margin-top:3px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.empty-table{text-align:center!important;color:var(--muted);padding:30px!important}
@media(max-width:1100px){.product-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.product-stats{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.product-actions{gap:4px}.action-btn{width:36px;height:36px}}

/* =====================================================
   V5 - CLIENTES FUNCIONAL
   ===================================================== */
.client-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:16px}
.client-form-panel{border:1px solid rgba(106,32,255,.16);box-shadow:0 16px 42px rgba(50,24,110,.08)}
.client-name-cell b{display:block}.client-name-cell small,.contact-cell small{display:block;color:var(--muted);margin-top:3px;max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.contact-cell span{display:block;font-weight:700;color:var(--text)}
.type-badge{display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:5px 8px;border-radius:999px;font-size:11px;font-weight:800}.type-badge.pf{background:#e9f4ff;color:#1577c7}.type-badge.pj{background:#f0e8ff;color:#6a20ff}
.result-count{margin-left:auto;font-size:12px;color:var(--muted);font-weight:700;white-space:nowrap}
.client-modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:20px}.client-modal.show{display:flex}.client-modal-backdrop{position:absolute;inset:0;background:rgba(12,8,34,.58);backdrop-filter:blur(3px)}
.client-modal-card{position:relative;z-index:1;width:min(760px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:20px;padding:20px;box-shadow:0 30px 80px rgba(10,4,35,.28)}
.client-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.client-detail-grid>div{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfaff}.client-detail-grid>div.wide{grid-column:1/-1}.client-detail-grid small{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.client-detail-grid b{font-size:14px}.client-detail-grid p{margin:0;font-size:13px;line-height:1.5;color:var(--text)}
.client-history-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.client-history-head h4{margin:0 0 3px}.client-history-head small{color:var(--muted)}.history-count{font-size:11px;font-weight:800;color:#6a20ff;background:#f2edff;border-radius:999px;padding:6px 9px;white-space:nowrap}
.client-history-list{display:grid;gap:8px;margin-top:12px}.history-item{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:11px 13px}.history-item>div{display:flex;flex-direction:column;gap:4px}.history-item>div:last-child{align-items:flex-end}.history-item small{color:var(--muted);font-size:11px}.history-empty{padding:20px;text-align:center;border:1px dashed var(--line);border-radius:12px;color:var(--muted);font-size:12px}
.client-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:1100px){.client-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.client-stats{grid-template-columns:1fr}.result-count{margin-left:0}.client-modal{padding:10px;align-items:flex-end}.client-modal-card{border-radius:20px 20px 0 0;max-height:92vh;padding:15px}.client-detail-grid{grid-template-columns:1fr}.client-detail-grid>div.wide{grid-column:auto}.client-history-head{align-items:flex-start;flex-direction:column}.history-item{align-items:flex-start}.client-modal-actions{flex-direction:column-reverse}.client-modal-actions .btn{width:100%}}

/* =====================================================
   V6 - ORÇAMENTOS FUNCIONAIS
   ===================================================== */
.quote-stats{grid-template-columns:repeat(4,1fr);margin-bottom:16px}
.quote-editor{overflow:visible}
.quote-item-add{display:grid;grid-template-columns:minmax(260px,1fr) 110px 160px auto;gap:10px;align-items:end;padding:14px;background:#fafaff;border-bottom:1px solid var(--line)}
.quote-item-add .field{margin:0}.quote-item-add .btn{height:42px;white-space:nowrap}
.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.quote-items-table{min-width:680px}.quote-items-table td{vertical-align:middle}.quote-item-code{display:block;color:var(--muted);font-size:11px;margin-top:3px}
.quote-table-input{border:1px solid var(--line);border-radius:9px;padding:8px 9px;background:#fff;outline:0}.quote-table-input:focus{border-color:#8758ff;box-shadow:0 0 0 3px rgba(106,32,255,.08)}.quote-table-input.qty{width:82px}.quote-table-input.price{width:125px}
.quote-bottom{display:grid;grid-template-columns:1fr minmax(300px,380px);gap:24px;align-items:start;margin-top:18px}.quote-notes{color:var(--muted);line-height:1.5;padding-top:6px}.quote-totals{background:#fafaff;border:1px solid var(--line);border-radius:14px;padding:12px 16px}.quote-totals.compact{width:min(330px,100%);margin-left:auto}.quote-discount-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px dashed var(--line)}.quote-discount-row label{font-size:13px;font-weight:700;color:#4e5266}.money-input{display:flex;align-items:center;border:1px solid var(--line);background:#fff;border-radius:9px;overflow:hidden;width:140px}.money-input span{font-size:12px;color:var(--muted);padding-left:9px}.money-input input{width:100%;border:0;padding:8px 9px;outline:0;text-align:right;background:transparent}
.quote-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.quote-actions{display:flex;align-items:center;gap:5px;white-space:nowrap}.quote-actions .convert{color:#0e8b55;background:#edfff5}.quote-toolbar .result-count{margin-left:auto}
.quote-modal{position:fixed;inset:0;z-index:125;display:none;align-items:center;justify-content:center;padding:20px}.quote-modal.show{display:flex}.quote-modal-backdrop{position:absolute;inset:0;background:rgba(12,8,34,.6);backdrop-filter:blur(3px)}.quote-modal-card{position:relative;z-index:1;width:min(900px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:20px;box-shadow:0 30px 80px rgba(10,4,35,.3)}
.quote-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin:8px 0 18px}.quote-detail-head small,.quote-detail-meta small,.quote-detail-obs small{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.quote-detail-head h4{font-size:21px;margin:0 0 4px}.quote-detail-head p{margin:0;color:var(--muted);font-size:13px}.quote-detail-meta{display:grid;grid-template-columns:1fr 1fr 2fr;gap:10px;margin-bottom:16px}.quote-detail-meta>div{background:#fafaff;border:1px solid var(--line);padding:12px;border-radius:12px}.quote-detail-meta b{display:block;font-size:13px}.quote-detail-footer{display:grid;grid-template-columns:1fr minmax(290px,340px);gap:20px;margin-top:18px}.quote-detail-obs{line-height:1.5}.quote-detail-obs p{white-space:pre-wrap;margin:5px 0 0}.quote-modal-actions{margin-top:20px}

@media(max-width:1000px){.quote-stats{grid-template-columns:repeat(2,1fr)}.quote-item-add{grid-template-columns:1fr 100px 150px}.quote-item-add .btn{grid-column:1/-1}.quote-detail-footer{grid-template-columns:1fr}.quote-totals.compact{margin-left:0}}
@media(max-width:620px){.quote-stats{grid-template-columns:1fr 1fr}.quote-item-add{grid-template-columns:1fr 1fr}.quote-item-add .field:first-child{grid-column:1/-1}.quote-item-add .btn{grid-column:1/-1;width:100%}.quote-bottom{grid-template-columns:1fr}.quote-form-actions{flex-direction:column-reverse}.quote-form-actions .btn{width:100%}.quote-detail-meta{grid-template-columns:1fr}.quote-detail-footer{grid-template-columns:1fr}.quote-modal{padding:10px;align-items:flex-end}.quote-modal-card{max-height:94vh;border-radius:20px 20px 0 0;padding:15px}.quote-detail-head{flex-direction:column}.quote-modal-actions{flex-direction:column-reverse}.quote-modal-actions .btn{width:100%}}
@media(max-width:420px){.quote-stats{grid-template-columns:1fr}.quote-item-add{grid-template-columns:1fr}.quote-item-add .field:first-child,.quote-item-add .btn{grid-column:auto}}


/* =====================================================
   V7 - VENDAS FUNCIONAIS
   ===================================================== */
.sale-head-actions{display:flex;gap:10px}.sale-source-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f2edff;border:1px solid #d9ccff;color:#5420bd;border-radius:13px;padding:12px 15px;margin-bottom:14px;font-size:12px}.sale-source-banner b{font-size:13px}.sale-layout{align-items:start}.sale-summary-panel{position:sticky;top:88px}.sale-item-add{display:grid;grid-template-columns:minmax(240px,1fr) 110px 150px auto;gap:10px;align-items:end;padding:14px;background:#fafaff;border-bottom:1px solid var(--line)}.sale-item-add .field{margin:0}.sale-item-add .btn{height:42px;white-space:nowrap}.sale-items-table{min-width:680px}.sale-empty{margin:12px}.sale-number{font-size:11px;font-weight:900;color:#6a20ff;background:#f2edff;border-radius:999px;padding:6px 9px}.sale-discount{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.sale-discount label{font-weight:700;color:#4e5266}.sale-stock-note{margin-top:14px;padding:11px 12px;border-radius:11px;background:#f6f8ff;color:#697087;font-size:11px;line-height:1.45}.sale-stats{grid-template-columns:repeat(4,1fr);margin-bottom:16px}.sale-toolbar .result-count{margin-left:auto}.danger-text{color:#d63b52!important}
@media(max-width:1000px){.sale-stats{grid-template-columns:repeat(2,1fr)}.sale-item-add{grid-template-columns:1fr 100px 150px}.sale-item-add .btn{grid-column:1/-1}.sale-summary-panel{position:static}}
@media(max-width:620px){.sale-head-actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.sale-head-actions .btn{width:100%}.sale-source-banner{align-items:flex-start;flex-direction:column}.sale-stats{grid-template-columns:1fr 1fr}.sale-item-add{grid-template-columns:1fr 1fr}.sale-item-add .field:first-child{grid-column:1/-1}.sale-item-add .btn{grid-column:1/-1;width:100%}}
@media(max-width:420px){.sale-stats{grid-template-columns:1fr}.sale-item-add{grid-template-columns:1fr}.sale-item-add .field:first-child,.sale-item-add .btn{grid-column:auto}.sale-head-actions{grid-template-columns:1fr}}


/* =====================================================
   V8 - FINANCEIRO + DESPESAS
   ===================================================== */
.finance-stats{grid-template-columns:repeat(5,minmax(0,1fr))!important}
.expense-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.pending-text{color:#d59200!important}
.finance-toolbar{gap:10px;align-items:center;flex-wrap:wrap}
.finance-toolbar .search-mini{flex:1 1 250px}
.finance-toolbar select,.finance-toolbar input[type="month"]{min-width:150px}
.btn-small{padding:9px 13px!important;min-height:auto!important}
.finance-chart-panel{overflow:hidden}
.finance-bars{display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:16px;align-items:end;min-height:220px;padding:20px 8px 0;overflow-x:auto}
.finance-month{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:90px}
.finance-month-bars{height:150px;display:flex;align-items:flex-end;justify-content:center;gap:8px;width:100%}
.finance-bar{width:28px;min-height:3px;border-radius:8px 8px 3px 3px;position:relative;transition:.2s ease}
.finance-bar:hover{filter:brightness(.96);transform:translateY(-2px)}
.finance-bar.in{background:linear-gradient(180deg,#42d991,#13a960)}
.finance-bar.out{background:linear-gradient(180deg,#ff7baa,#eb3374)}
.finance-month b{font-size:12px;color:var(--text)}
.finance-month small{font-size:10px;color:var(--muted);text-align:center}
.finance-type{display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:12px}
.finance-type::before{content:'';width:8px;height:8px;border-radius:50%}
.finance-type.income{color:#118c55}.finance-type.income::before{background:#18b76a}
.finance-type.expense{color:#c82f68}.finance-type.expense::before{background:#ef4a83}
.finance-origin{display:flex;flex-direction:column;gap:2px}.finance-origin small{color:var(--muted);font-size:10px}
.overdue-label{display:inline-block;margin-top:4px;color:#d52b5b;font-size:10px;font-weight:800}
.due-soon-label{display:inline-block;margin-top:4px;color:#b47a00;font-size:10px;font-weight:800}
.value-income{color:#128753}.value-expense{color:#c93068}
.table-action.success{color:#0d8f55;border-color:#bce9d3;background:#f2fff8}
.table-action.warning{color:#a36b00;border-color:#f2d699;background:#fffaf0}
.metric strong.negative{color:#db326b}
.finance-legend{display:flex;gap:14px;font-size:11px;color:var(--muted)}
.finance-legend span{display:flex;align-items:center;gap:5px}.finance-legend i{width:8px;height:8px;border-radius:50%;display:block}.finance-legend .lin{background:#18b76a}.finance-legend .lout{background:#ef4a83}
@media(max-width:1180px){.finance-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important}.expense-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.finance-stats,.expense-stats{grid-template-columns:1fr!important}.finance-toolbar>*{width:100%;min-width:0!important}.finance-bars{grid-template-columns:repeat(6,90px);padding-bottom:6px}.finance-chart-panel{padding-left:14px!important;padding-right:14px!important}}

/* =====================================================
   V9 — INFINITEPAY
   ===================================================== */
.ip-sale-notice{margin-top:12px;padding:12px 13px;border:1px solid #ded2ff;background:#f8f5ff;border-radius:13px;display:flex;align-items:center;gap:11px}
.ip-sale-notice[hidden]{display:none!important}.ip-sale-notice .ip-mini-logo{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,#5f20ff,#8c45ff);color:#fff;font-size:24px;font-weight:900;flex:0 0 auto}
.ip-sale-notice b{display:block;font-size:13px;color:#4e16bd}.ip-sale-notice span{display:block;margin-top:2px;color:var(--muted);font-size:12px;line-height:1.35}
.ip-integration-card{align-items:flex-start}.ip-config-main{min-width:0;flex:1}.ip-config-toggle{padding-top:4px}.field-help{display:block;margin-top:6px;font-size:11px;line-height:1.35;color:var(--muted)}
.ip-security-note{padding:12px 14px;border-radius:12px;background:#f6f3ff;border:1px solid #e5dcff;color:#4d3378;font-size:12px;line-height:1.55;overflow-wrap:anywhere}.ip-security-note span{color:var(--muted)}
.ip-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.ip-status-pill{font-size:11px;font-weight:800;padding:6px 10px;border-radius:999px}.ip-status-pill.on{background:#e8faef;color:#128449}.ip-status-pill.off{background:#f1eef8;color:#776d8d}.ip-status-pill.warn{background:#fff5d9;color:#946900}.panel-subtitle{margin:3px 0 0;color:var(--muted);font-size:12px}
.ip-order-meta{display:block;margin-top:3px;color:var(--muted);font-size:10px}.ip-link-btn{white-space:nowrap}.ip-checkout-badge{display:inline-flex;align-items:center;gap:5px;margin-top:4px;font-size:10px;color:#5d28c7;font-weight:700}.ip-checkout-badge:before{content:'∞';font-size:14px}
.ip-return-banner{position:fixed;left:50%;top:18px;transform:translateX(-50%);z-index:9999;max-width:min(680px,calc(100vw - 30px));background:#fff;border:1px solid #ddd2ff;box-shadow:0 16px 45px rgba(42,20,86,.18);border-radius:15px;padding:14px 16px;display:flex;gap:12px;align-items:center}.ip-return-banner b{display:block;color:#361173}.ip-return-banner span{font-size:12px;color:var(--muted)}
@media(max-width:760px){.ip-integration-card{display:grid;grid-template-columns:auto 1fr}.ip-integration-card .integration-logo{grid-row:1}.ip-config-main{grid-column:1/-1}.ip-config-toggle{grid-column:2;grid-row:1;justify-self:end}.ip-actions .btn{flex:1}.ip-return-banner{top:10px}}

/* =====================================================
   V10 - GOOGLE SHEETS + APPS SCRIPT
   ===================================================== */
.cloud-panel{border:1px solid rgba(66,133,244,.18)}
.cloud-integration-card{align-items:flex-start}
.cloud-logo{background:linear-gradient(145deg,#4285f4,#7b61ff);font-size:29px;line-height:.78;color:#fff;box-shadow:0 12px 30px rgba(66,133,244,.25)}
.cloud-logo small{font-size:11px;letter-spacing:1.5px}
.ip-status-pill.on{background:#e8fff3;color:#087a45;border-color:#b8f0d2}
.cloud-sync-note{margin-top:14px}
.cloud-sync-note.cloud-error{background:#fff3f3;color:#a72a2a;border-color:#ffd4d4}
@media(max-width:720px){
  .cloud-integration-card{display:block}
  .cloud-integration-card .integration-logo{margin-bottom:14px}
  .cloud-integration-card .ip-config-toggle{position:absolute;right:18px;top:18px}
}

/* V11.1 - preço variável */
.field-hint{display:block;margin-top:6px;color:#7b718c;font-size:11px;line-height:1.35}.variable-price-toggle{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 12px;border:1px solid #e5dff2;border-radius:12px;background:#faf8ff;cursor:pointer}.variable-price-toggle input{width:18px;height:18px;accent-color:#6a20ff}.variable-price-toggle span{display:flex;flex-direction:column;gap:2px}.variable-price-toggle b{font-size:13px;color:#332746}.variable-price-toggle small{font-size:10px;color:#837991}.variable-price-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#f0e8ff;color:#6a20ff;font-size:11px;font-weight:800}#productPrice:disabled{background:#f4f1f8;color:#8f8799;cursor:not-allowed}


/* =====================================================
   V11.4 — AÇÕES DE VENDAS
   ===================================================== */
.table-action{appearance:none;border:1px solid #ddd8ef;background:#fff;color:#3f315f;border-radius:9px;padding:7px 10px;font:inherit;font-size:12px;font-weight:800;line-height:1;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:.18s ease;box-shadow:0 1px 2px rgba(28,14,66,.04)}
.table-action:hover{border-color:#a98cff;background:#f7f3ff;color:#5b22d5;transform:translateY(-1px);box-shadow:0 5px 14px rgba(91,34,213,.10)}
.table-action:active{transform:translateY(0)}
.table-action.danger{color:#c73555;border-color:#f0c9d3;background:#fff8fa}
.table-action.danger:hover{color:#fff;background:#d83d5c;border-color:#d83d5c}
.table-action .action-icon{font-size:13px;line-height:1}
.sale-row-actions{display:flex;align-items:center;gap:7px;white-space:nowrap;flex-wrap:wrap}
.sale-modal{position:fixed;inset:0;z-index:130;display:none;align-items:center;justify-content:center;padding:20px}
.sale-modal.show{display:flex}
.sale-modal-backdrop{position:absolute;inset:0;background:rgba(12,8,34,.62);backdrop-filter:blur(3px)}
.sale-modal-card{position:relative;z-index:1;width:min(920px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:20px;box-shadow:0 30px 80px rgba(10,4,35,.32)}
@media(max-width:620px){.sale-row-actions{gap:6px}.table-action{padding:8px 10px}.sale-modal{padding:10px;align-items:flex-end}.sale-modal-card{max-height:94vh;border-radius:20px 20px 0 0;padding:15px}}

/* V11.5 — confirmação de cancelamento de venda */
.confirm-modal{position:fixed;inset:0;z-index:180;display:none;align-items:center;justify-content:center;padding:20px}.confirm-modal.show{display:flex}.confirm-modal-backdrop{position:absolute;inset:0;background:rgba(12,8,34,.66);backdrop-filter:blur(3px)}.confirm-modal-card{position:relative;z-index:1;width:min(470px,100%);background:#fff;border-radius:22px;padding:28px;text-align:center;box-shadow:0 28px 80px rgba(10,4,35,.32)}.confirm-modal-card h3{margin:12px 0 8px;font-size:23px;color:#17132d}.confirm-modal-card p{margin:0;color:var(--muted);line-height:1.55}.confirm-modal-icon{width:68px;height:68px;margin:0 auto;border-radius:50%;display:grid;place-items:center;font-size:34px;font-weight:900}.confirm-modal-icon.warning{background:#fff2df;color:#e28a00}.confirm-modal-icon.success{background:#ddf8e9;color:#129052}.confirm-modal-summary{margin:18px 0;padding:13px 15px;border-radius:13px;background:#f7f4ff;color:#4f397b;font-size:13px;font-weight:700}.confirm-modal-actions{display:flex;gap:10px;justify-content:center;margin-top:22px}.btn-danger{background:#d83d5c!important;color:#fff!important;border-color:#d83d5c!important}.btn-danger:hover{background:#bf2f4c!important}.success-check-list{margin:18px 0 22px;padding:15px 17px;border-radius:14px;background:#ecfbf3;color:#147848;text-align:left;display:grid;gap:9px;font-size:13px;font-weight:700}.confirm-modal-close{position:absolute;right:16px;top:14px;border:0;background:#f2f0f5;width:32px;height:32px;border-radius:50%;cursor:pointer;color:#766d82}.success-card .btn-primary{min-width:170px}@media(max-width:560px){.confirm-modal{padding:12px;align-items:flex-end}.confirm-modal-card{border-radius:22px 22px 0 0;padding:24px 18px}.confirm-modal-actions{flex-direction:column-reverse}.confirm-modal-actions .btn{width:100%}}


/* =====================================================
   V11.7 - CONTENCAO DE LAYOUT / DASHBOARD
   Evita largura maior que a viewport e barras horizontais globais.
   ===================================================== */
html,body{width:100%;max-width:100%;overflow-x:hidden}
.app{width:100%;max-width:100vw;overflow-x:hidden}
.main{width:100%;max-width:100%;min-width:0;overflow-x:hidden}
.content,.view,#dashboard,.grid-2,.cards,.panel{min-width:0;max-width:100%}
#dashboard .grid-2>*{min-width:0}
#dashboard .panel{overflow:hidden}
#dashboard .data-table{width:100%;max-width:100%;table-layout:fixed}
#dashboard .data-table th,#dashboard .data-table td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#dashboard .panel-head{min-width:0}
#dashboard .panel-head h3{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1100px){#dashboard .data-table{table-layout:auto}#dashboard .panel{overflow-x:auto}}


/* =====================================================
   V11.8 - DASHBOARD: CORREÇÃO DE LAYOUT / OVERFLOW
   ===================================================== */
#dashboard{width:100%;min-width:0;overflow:visible}
#dashboard .grid-2{width:100%;min-width:0;align-items:stretch}
#dashboard .grid-2>.panel{min-width:0;width:100%;overflow:hidden}
#dashboard .panel .table-scroll{overflow:visible!important;width:100%;max-width:100%}
#dashboard .panel .table-scroll .data-table,
#dashboard .data-table{min-width:0!important;width:100%!important;max-width:100%!important;table-layout:fixed!important}
#dashboard .data-table th,#dashboard .data-table td{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#dashboard .data-table th:first-child,#dashboard .data-table td:first-child{width:18%}
#dashboard .data-table th:last-child,#dashboard .data-table td:last-child{width:18%}
#dashboard .quick{width:100%;min-width:0}
#dashboard .quick-card{min-width:0;width:100%;overflow:hidden;text-align:left}
#dashboard .quick-card>span:last-child{min-width:0}
#dashboard .quick-card b,#dashboard .quick-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#dashboard .chart{min-width:0;width:100%;overflow:hidden}
#dashboard .donut-wrap{min-width:0;overflow:hidden}
#dashboard .legend{min-width:0;flex:1}
#dashboard .legend div{min-width:0}
#dashboard .legend span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* remove barras internas indevidas que versões anteriores adicionavam */
#dashboard .panel::-webkit-scrollbar,#dashboard .table-scroll::-webkit-scrollbar{display:none}
#dashboard .panel,#dashboard .table-scroll{scrollbar-width:none}

@media (max-width:1200px){
  #dashboard .grid-2{grid-template-columns:1fr!important}
  #dashboard .donut-wrap{justify-content:flex-start}
}
@media (max-width:760px){
  #dashboard .data-table th:nth-child(4),#dashboard .data-table td:nth-child(4){display:none}
  #dashboard .data-table th,#dashboard .data-table td{padding-left:6px;padding-right:6px}
  #dashboard .quick-card b,#dashboard .quick-card small{white-space:normal}
}
@media (max-width:520px){
  #dashboard .data-table th:nth-child(3),#dashboard .data-table td:nth-child(3){display:none}
  #dashboard .donut-wrap{align-items:center}
}

/* =====================================================
   V11.9 - ESTRUTURA DESKTOP FIXA
   Corrige o menu lateral desaparecendo ao rolar a página.
   Importante: não usar overflow:hidden no .app como ancestral
   de um elemento sticky, pois isso quebra o comportamento.
   ===================================================== */
@media (min-width: 861px){
  html,body{overflow-x:clip!important}
  .app{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-height:100vh!important;
    overflow:visible!important;
  }
  .sidebar{
    position:fixed!important;
    inset:0 auto 0 0!important;
    width:270px!important;
    height:100dvh!important;
    min-height:100vh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:100!important;
  }
  .main{
    margin-left:270px!important;
    width:calc(100% - 270px)!important;
    max-width:calc(100% - 270px)!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .topbar{
    width:100%!important;
    max-width:100%!important;
  }
  .content{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  #dashboard,
  #dashboard .cards,
  #dashboard .grid-2,
  #dashboard .quick{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  #dashboard .panel,
  #dashboard .metric,
  #dashboard .quick-card{
    min-width:0!important;
  }
}

/* V11.11 — Dashboard sem dados demonstrativos */
#dashboardPaymentMethods .donut.dynamic{position:relative;background:#eceaf4;}
#dashboardPaymentMethods .donut.dynamic::after{content:none!important;display:none!important;}
#dashboardPaymentMethods .donut-center{width:98px;height:98px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px;box-sizing:border-box;}
#dashboardPaymentMethods .donut-center b{font-size:14px;line-height:1.2;}
#dashboardPaymentMethods .donut-center span{font-size:11px;color:var(--muted);margin-top:3px;}
#dashboardSalesChart .bar.zero{opacity:.28;}
#dashboardSalesChart:empty::before{content:'Sem dados de vendas';color:var(--muted);font-size:13px;align-self:center;margin:auto;}

/* =====================================================
   V11.12 — TELA DE CARREGAMENTO / SINCRONIZAÇÃO
   ===================================================== */
.app-loading-overlay{
  position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(30,12,67,.72);backdrop-filter:blur(8px);
  transition:opacity .28s ease,visibility .28s ease;
}
.app-loading-overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.app-loading-card{
  width:min(440px,100%);background:#fff;border-radius:24px;padding:30px 30px 26px;
  box-shadow:0 28px 80px rgba(29,10,64,.34);text-align:center;border:1px solid rgba(106,32,255,.12)
}
.app-loading-brand{height:70px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.app-loading-brand img{max-width:180px;max-height:68px;object-fit:contain}
.app-loading-spinner{
  width:48px;height:48px;margin:10px auto 18px;border:5px solid #eee8ff;border-top-color:#6a20ff;
  border-radius:50%;animation:mjSpin .85s linear infinite
}
.app-loading-icon{
  width:48px;height:48px;margin:10px auto 18px;border-radius:50%;display:grid;place-items:center;
  background:#fff1f2;color:#d92d20;font-size:26px;font-weight:900;border:1px solid #fecdd3
}
.app-loading-card h2{margin:0 0 8px;color:#2c2142;font-size:22px}
.app-loading-card p{margin:0;color:#6f6680;font-size:14px;min-height:20px}
.app-loading-progress{height:8px;background:#eeeaf7;border-radius:999px;overflow:hidden;margin:22px 0 13px}
.app-loading-progress span{display:block;height:100%;width:8%;border-radius:999px;background:linear-gradient(90deg,#6a20ff,#b22cff,#ff3d9a);transition:width .35s ease}
.app-loading-card small{display:block;color:#8b8298;line-height:1.5;min-height:40px}
.app-loading-actions{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}
.app-loading-actions .btn{min-width:150px}
.app-loading-overlay[data-state="error"] .app-loading-progress span{background:#ef4444}
.app-loading-overlay[data-state="ready"] .app-loading-spinner{border-color:#dcfce7;border-top-color:#16a34a}
@keyframes mjSpin{to{transform:rotate(360deg)}}
@media (max-width:520px){
  .app-loading-overlay{padding:16px}.app-loading-card{padding:24px 18px 20px;border-radius:20px}
  .app-loading-brand{height:58px}.app-loading-brand img{max-height:56px;max-width:160px}
  .app-loading-actions{flex-direction:column}.app-loading-actions .btn{width:100%}
}
