
/* V7.1.2 - Elementos marcados como hidden nunca podem aparecer */
[hidden] { display: none !important; }

*{box-sizing:border-box}
:root{
  --bg:#f5f6f8;--panel:#fff;--text:#1f2937;--muted:#6b7280;--line:#e5e7eb;
  --primary:#b51f2e;--primary2:#921823;--soft:#f8fafc;--good:#167a4d;--warn:#a16207;--danger:#b42318;
  --sidebar:#181a1e;--shadow:0 12px 35px rgba(15,23,42,.07)
}
html,body{margin:0;min-height:100%;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}.input{width:100%;border:1px solid #d8dde5;background:#fff;border-radius:10px;padding:10px 12px;outline:none;color:var(--text)}
.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(181,31,46,.08)}
label{display:grid;gap:6px;font-size:12px;font-weight:750;color:#303642}
.btn{border:0;border-radius:10px;padding:10px 14px;font-weight:800;white-space:nowrap}
.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}
.btn.secondary{background:#eef1f5;color:#303642}.btn.ghost{background:transparent;border:1px solid var(--line);color:#4b5563}
.btn.small{padding:8px 10px;font-size:12px}.btn.wide{width:100%}.btn.big-action{padding:13px 18px}
.link-btn{border:0;background:transparent;color:var(--primary);font-weight:800;padding:5px}.link-btn.center{display:block;margin:8px auto}
.logo-box{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(135deg,var(--primary),#f2b400);color:#fff;font-weight:900}
.logo-box.small{width:40px;height:40px;border-radius:12px;font-size:13px}

/* startup */
.startup-screen{position:fixed;inset:0;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top right,#fff0cf,transparent 32%),radial-gradient(circle at bottom left,#f7dbe0,transparent 35%),#f3f6fa;z-index:1000}
.startup-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;box-shadow:0 25px 70px rgba(15,23,42,.14)}
.startup-brand{display:flex;align-items:center;gap:14px;margin-bottom:16px}.startup-brand h1{margin:0;font-size:22px}.startup-brand p{margin:3px 0 0;color:var(--muted);font-size:13px}
.startup-status{padding:10px 12px;border-radius:10px;background:#f3f4f6;color:#606775;font-size:13px;margin-bottom:14px}.startup-status.error{background:#fff1f1;color:var(--danger)}.startup-status.ok{background:#ecf9f1;color:var(--good)}
.startup-pane{display:grid;gap:12px}.startup-links{display:flex;justify-content:space-between}.setup-block{display:grid;gap:9px}.setup-block h3{margin:0;font-size:15px}.divider{display:flex;align-items:center;gap:10px;color:#9ca3af;font-size:11px}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}
.notice{padding:12px;border-radius:10px;font-size:13px}.notice.warning{background:#fff8df;border:1px solid #f1df9b}

/* layout */
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:var(--sidebar);color:#fff;z-index:50;display:flex;flex-direction:column;transition:width .18s,transform .18s}
.side-head{height:72px;display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand-mini{display:flex;align-items:center;gap:10px;min-width:0}.brand-text{min-width:0}.brand-text strong,.brand-text span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-text strong{font-size:13px}.brand-text span{font-size:11px;color:#9ca3af;margin-top:3px}
.side-toggle{width:28px;height:28px;border:0;border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-size:20px}
.menu{padding:10px;display:grid;gap:5px;overflow:auto}.menu-item{border:0;background:transparent;color:#d7dbe2;border-radius:10px;padding:11px 12px;display:flex;align-items:center;gap:11px;text-align:left}.menu-item:hover,.menu-item.active{background:rgba(255,255,255,.09);color:#fff}.menu-item.active{box-shadow:inset 3px 0 #f2b400}.ico{width:22px;text-align:center}.menu-label{white-space:nowrap}
.side-foot{margin-top:auto;padding:12px;border-top:1px solid rgba(255,255,255,.08)}.side-cloud{font-size:11px;color:#aab1bc}
.sidebar.collapsed{width:66px}.sidebar.collapsed .brand-text,.sidebar.collapsed .menu-label,.sidebar.collapsed .side-cloud{display:none}.sidebar.collapsed .side-head{justify-content:center;padding:10px}.sidebar.collapsed .brand-mini{display:none}.sidebar.collapsed .side-toggle{position:static}.sidebar.collapsed .menu-item{justify-content:center;padding:11px 7px}
.main{margin-left:220px;min-height:100vh;transition:margin-left .18s}.sidebar.collapsed~.main{margin-left:66px}
.topbar{min-height:76px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 20px;position:sticky;top:0;z-index:20;backdrop-filter:blur(8px)}
.top-left{display:flex;align-items:center;gap:10px}.topbar h1{margin:0;font-size:23px}.topbar p{margin:3px 0 0;color:var(--muted);font-size:12px}.top-actions{display:flex;align-items:center;gap:8px}.unit-select{width:210px}
.sync-pill{border-radius:999px;background:#eaf7ef;color:var(--good);font-size:11px;font-weight:800;padding:8px 10px}.sync-pill.sync-error{background:#fff1f1;color:var(--danger)}.sync-pill.syncing{background:#fff8df;color:var(--warn)}
.user-chip{font-size:12px;border:1px solid var(--line);background:#f7f8fa;border-radius:999px;padding:8px 10px}.mobile-menu-btn{display:none;border:0;background:#f0f2f5;border-radius:9px;padding:8px 10px}
.page{display:none;padding:20px}.page.active{display:block}.quick-row{margin-bottom:14px}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:var(--shadow)}.kpi.alert{background:#fff9e8}.kpi span{display:block;color:var(--muted);font-size:12px}.kpi strong{display:block;font-size:24px;margin:6px 0 4px}.kpi small{color:var(--muted)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);overflow:hidden}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 17px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:16px;margin:0}.panel-head p{font-size:11px;color:var(--muted);margin:3px 0 0}
.simple-list{padding:0 16px}.simple-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.simple-row:last-child{border-bottom:0}.simple-row strong{display:block;font-size:13px}.simple-row span{font-size:11px;color:var(--muted)}
.empty{padding:25px;text-align:center;color:var(--muted);font-size:13px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.toolbar-actions{display:flex;gap:8px}.search{max-width:420px}
.table-panel{overflow:hidden}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;font-size:12px}th{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#7a828f;background:#fbfcfd}tbody tr:hover{background:#fcfcfd}
.badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:900}.badge.good{background:#e9f8ef;color:var(--good)}.badge.warn{background:#fff5d6;color:#9a6700}.badge.bad{background:#fff0f0;color:var(--danger)}.badge.neutral{background:#f0f2f5;color:#596170}.badge.kit{background:#f2eaff;color:#6f39b4}
.row-actions{display:flex;gap:5px}.icon-btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 8px}
.mini-kpis{display:flex;gap:10px;margin-bottom:12px}.mini-kpis>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;min-width:180px}.mini-kpis span{display:block;color:var(--muted);font-size:11px}.mini-kpis strong{display:block;margin-top:3px}
.unit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.unit-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:var(--shadow)}.unit-card h3{margin:8px 0 3px}.unit-card p{margin:0;color:var(--muted);font-size:12px}.unit-stats{display:grid;gap:5px;margin:12px 0;font-size:12px}

/* settings */
.settings-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.settings-form{padding:16px;display:grid;gap:14px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check-row{display:flex;align-items:center;gap:8px;font-weight:600}.cloud-info{padding:15px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.cloud-info div{background:#f7f8fa;border-radius:10px;padding:10px}.cloud-info span,.cloud-info strong{display:block}.cloud-info span{font-size:10px;color:var(--muted);text-transform:uppercase}.cloud-info strong{font-size:12px;margin-top:4px;overflow-wrap:anywhere}.invite-area{margin:0 15px 15px;padding:13px;background:#fff8df;border:1px solid #f0dfa1;border-radius:12px;display:grid;gap:10px}.invite-result{background:white;border-radius:9px;padding:10px;font-size:12px}.invite-code{display:block;font-size:22px;font-weight:900;letter-spacing:.08em;margin:5px 0}.cloud-actions{padding:0 15px 15px;display:flex;gap:8px}

/* modal */
dialog{border:0;padding:0;border-radius:18px;width:min(760px,calc(100vw - 24px));max-height:94vh;box-shadow:0 30px 100px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(15,23,42,.55);backdrop-filter:blur(2px)}.modal-card{margin:0;display:flex;flex-direction:column;max-height:94vh}.modal-head{display:flex;justify-content:space-between;align-items:start;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);flex:0 0 auto}.modal-head h2{margin:0;font-size:20px}.modal-head p{margin:4px 0 0;color:var(--muted);font-size:11px}.close-btn{border:0;background:transparent;font-size:25px;line-height:1}.modal-body{padding:16px;overflow:auto;min-height:0}.modal-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid var(--line);flex:0 0 auto}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.modal-grid .full{grid-column:1/-1}
.toast{position:fixed;right:18px;bottom:18px;background:#17191d;color:white;padding:11px 14px;border-radius:10px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:2000}.toast.show{opacity:1;transform:translateY(0)}

/* PDV */
#modal.pdv{width:min(96vw,1480px);height:min(92vh,900px);max-width:none}
#modal.pdv .modal-card{height:100%}#modal.pdv .modal-body{padding:0;overflow:hidden;flex:1}#modal.pdv .modal-actions{display:none}
.pdv-shell{height:100%;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(380px,440px);min-height:0}
.pdv-left{padding:16px;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.pdv-right{padding:14px;background:#fbfcfd;display:flex;flex-direction:column;min-height:0}
.pdv-top{display:grid;grid-template-columns:1fr 1fr .8fr;gap:9px;margin-bottom:9px}.pdv-search{display:grid;grid-template-columns:1.3fr .6fr;gap:9px;margin-bottom:10px}
.pdv-products{overflow:auto;min-height:0;flex:1;padding-right:3px}.product-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:9px;align-content:start}.sale-product{border:1px solid var(--line);border-radius:13px;background:white;padding:13px;min-height:112px}.sale-product:hover{border-color:var(--primary);box-shadow:0 7px 22px rgba(15,23,42,.07)}.sale-product h3{margin:0 0 3px;font-size:13px}.sale-product .cat{color:var(--muted);font-size:11px}.sale-product .price{font-size:17px;font-weight:900;margin:9px 0 3px}.sale-product .stock{font-size:11px;color:var(--muted)}
.pdv-right-head{display:flex;justify-content:space-between;gap:8px;align-items:start}.pdv-right-head h3{margin:0;font-size:17px}.pdv-count{font-size:11px;color:var(--muted);margin-top:2px}.pdv-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.pdv-fields .full{grid-column:1/-1}.pdv-fields textarea{min-height:54px;resize:vertical}
.cart-area{display:flex;flex-direction:column;min-height:0;flex:1;margin-top:9px}.cart-title{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:6px;font-size:10px;text-transform:uppercase;color:var(--muted);font-weight:900}.cart-scroll{overflow:auto;min-height:0;flex:1;padding:7px 2px 2px}.cart-empty{height:100%;min-height:120px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:12px}.cart-item{border:1px solid var(--line);border-radius:10px;background:#fff;padding:9px;margin-bottom:7px}.cart-top,.cart-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px}.cart-top strong{font-size:12px}.qty{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.qty button{border:0;background:#f0f2f5;width:28px;height:28px;font-weight:900}.qty span{display:grid;place-items:center;min-width:30px;font-size:12px;font-weight:800}.remove-item{border:0;background:#fff0f0;color:var(--danger);border-radius:8px;padding:7px 9px}
.pdv-summary{flex:0 0 auto;border-top:1px solid var(--line);padding-top:9px}.summary-box{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px}.summary-row{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:11px;margin-bottom:5px}.summary-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:7px;margin-top:7px;font-size:17px;font-weight:900}.finish-sale{width:100%;margin-top:8px;border:0;border-radius:11px;padding:13px;background:var(--primary);color:#fff;font-size:16px;font-weight:900}.finish-sale:disabled{opacity:.45}
.components-box{border:1px solid var(--line);border-radius:11px;padding:10px;background:#fbfcfd}.component-row{display:grid;grid-template-columns:1fr 110px 34px;gap:7px;margin-bottom:7px;align-items:center}.component-row:last-child{margin-bottom:0}

/* responsive */
@media(max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.grid-2,.settings-grid{grid-template-columns:1fr}.unit-grid{grid-template-columns:repeat(2,1fr)}.user-chip{display:none}.pdv-shell{grid-template-columns:minmax(0,1.35fr) minmax(350px,400px)}}
@media(max-width:820px){
  .sidebar{transform:translateX(-100%);width:230px}.sidebar.open{transform:translateX(0)}.sidebar.collapsed{width:230px}.sidebar.collapsed .brand-text,.sidebar.collapsed .menu-label,.sidebar.collapsed .side-cloud{display:block}.sidebar.collapsed .brand-mini{display:flex}.sidebar.collapsed .menu-item{justify-content:flex-start;padding:11px 12px}
  .main,.sidebar.collapsed~.main{margin-left:0}.mobile-menu-btn{display:inline-block}.side-toggle{font-size:0}.side-toggle:after{content:"×";font-size:22px}.mobile-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:40}.mobile-backdrop.show{display:block}
  .topbar{padding:10px 12px}.top-actions{gap:5px}.sync-pill{display:none}.unit-select{width:150px}.page{padding:12px}.toolbar{align-items:stretch;flex-direction:column}.search{max-width:none}.toolbar-actions{flex-wrap:wrap}.unit-grid{grid-template-columns:1fr}.form-grid-2{grid-template-columns:1fr}.cloud-info{grid-template-columns:1fr 1fr}
  #modal.pdv{width:99vw;height:96vh}.pdv-shell{grid-template-columns:1fr;overflow:auto}.pdv-left{min-height:480px;border-right:0;border-bottom:1px solid var(--line)}.pdv-right{min-height:520px}.pdv-top{grid-template-columns:1fr}.pdv-search{grid-template-columns:1fr}
}
@media(max-width:560px){.kpis{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.topbar h1{font-size:18px}.topbar p{display:none}.unit-select{width:130px}.mini-kpis{flex-direction:column}.mini-kpis>div{min-width:0}.modal-grid{grid-template-columns:1fr}.modal-grid .full{grid-column:auto}.cloud-info{grid-template-columns:1fr}}

.btn.danger{background:#b42318;color:#fff}.btn.danger:hover{background:#921b14}
.danger-panel{grid-column:1/-1;border-color:#f3c7c7}
.danger-zone{padding:16px;background:#fff7f7}
.danger-zone p{margin:0 0 8px;font-size:12px;color:#5f2930;line-height:1.5}
.danger-zone p strong{font-size:14px;color:#8f1d28}
