*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#f5f7fa;color:#18212b}.app{display:flex;min-height:100vh}.sidebar{width:250px;background:#101820;color:#dce5ed;padding:22px 16px;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;margin-bottom:35px}.brand-mark{width:38px;height:38px;border-radius:10px;background:#fff;color:#101820;display:grid;place-items:center;font-weight:800;font-size:20px}.brand b{display:block;letter-spacing:2px;color:#fff}.brand small{color:#8f9daa;font-size:11px}.nav{display:block;width:100%;border:0;background:none;color:#aebbc7;text-align:left;padding:12px 13px;border-radius:9px;margin:3px 0;cursor:pointer;font-size:14px}.nav:hover,.nav.active{background:#263440;color:#fff}.tenant{margin-top:auto;background:#1a2630;padding:14px;border-radius:12px}.tenant small,.tenant span{display:block;color:#82909d;font-size:11px}.tenant strong{display:block;color:#fff;font-size:13px;margin:5px 0}.tenant span{color:#71c69a}.sidebar+main{flex:1;min-width:0}header{height:84px;background:#fff;border-bottom:1px solid #e4e8ed;padding:18px 30px;display:flex;align-items:center;justify-content:space-between}h1{margin:0;font-size:22px}header p{margin:4px 0 0;color:#778391;font-size:13px}.header-actions{display:flex;gap:12px;align-items:center}.pill{font-size:12px;color:#28744d;background:#e8f6ee;padding:7px 10px;border-radius:20px}.avatar{width:34px;height:34px;border-radius:50%;background:#18212b;color:#fff;display:grid;place-items:center;font-size:11px}.mobile-menu{display:none}.content{padding:26px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.card{background:#fff;border:1px solid #e4e8ed;border-radius:13px;padding:18px}.card label{font-size:12px;color:#7a8793}.card .num{font-size:26px;font-weight:750;margin-top:8px}.card .hint{font-size:11px;color:#8b97a2;margin-top:4px}.grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.panel{background:#fff;border:1px solid #e4e8ed;border-radius:13px;padding:18px}.panel h3{margin:0 0 15px;font-size:15px}.toolbar{display:flex;justify-content:space-between;gap:10px;margin-bottom:15px;flex-wrap:wrap}.search{border:1px solid #dce2e8;border-radius:9px;padding:10px 12px;min-width:230px;outline:none}.btn{border:0;border-radius:8px;padding:10px 13px;cursor:pointer;font-weight:650}.primary{background:#18212b;color:#fff}.light{background:#eef2f5;color:#25313b}.danger{background:#fff0f0;color:#b33}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:11px 9px;border-bottom:1px solid #edf0f3;text-align:left;white-space:nowrap}th{font-size:11px;text-transform:uppercase;color:#82909d}tr:last-child td{border-bottom:0}.tag{padding:4px 7px;border-radius:6px;font-size:10px;font-weight:700}.ok{background:#e9f7ef;color:#28744d}.low{background:#fff5df;color:#9a6a00}.zero{background:#fff0f0;color:#b33}.loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.loc-card{border:1px solid #e4e8ed;border-radius:12px;padding:15px}.loc-card h4{margin:0 0 5px}.muted{color:#7d8995;font-size:12px}.statline{display:flex;justify-content:space-between;margin-top:15px;font-size:12px}.modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:20px;z-index:5}.modal.hidden{display:none}.modal-card{background:#fff;border-radius:15px;width:min(560px,100%);max-height:90vh;overflow:auto;padding:20px}.modal-head{display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:18px;margin:0}.modal-head button{border:0;background:none;font-size:26px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{display:flex;flex-direction:column;gap:5px}.field.full{grid-column:1/-1}.field label{font-size:11px;color:#697681;font-weight:650}.field input,.field select{padding:10px;border:1px solid #dce2e8;border-radius:8px}.form-actions{margin-top:18px;display:flex;justify-content:flex-end;gap:8px}.toast{position:fixed;right:20px;bottom:20px;background:#18212b;color:#fff;padding:12px 16px;border-radius:9px;opacity:0;transform:translateY(10px);transition:.2s;z-index:10;font-size:13px}.toast.show{opacity:1;transform:none}.empty{padding:30px;text-align:center;color:#82909d}.qr-box{text-align:center;padding:15px}.qr-box #qrcode{display:inline-block}.kpi{font-size:12px;color:#788590}.mini-list{display:flex;flex-direction:column;gap:10px}.mini{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #edf0f3;font-size:13px}.mini:last-child{border:0}@media(max-width:900px){.sidebar{width:210px}.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.loc-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.sidebar{display:none}.mobile-menu{display:inline;border:0;background:none;font-size:20px;margin-right:8px}.cards{grid-template-columns:1fr 1fr}.content{padding:16px}.loc-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.header-actions .pill{display:none}}

/* Impressão nativa do Nexora Desktop */
@media print {
  body { background: #fff !important; }
  .app, .modal-head, #closeModal, .toast { display: none !important; }
  .modal { position: static !important; display: block !important; background: #fff !important; }
  .modal-card { width: 100% !important; max-width: none !important; box-shadow: none !important; border: 0 !important; }
  .qr-box { display: flex !important; flex-direction: column !important; align-items: center !important; justify-content: center !important; min-height: 90vh !important; }
}
.hidden{display:none!important}.auth-screen{min-height:100vh;display:grid;place-items:center;background:#eef2f5}.auth-card{background:#fff;border-radius:18px;padding:35px;width:min(400px,94vw);box-shadow:0 15px 45px #18212b16;display:flex;flex-direction:column;gap:12px}.auth-card img{max-width:220px;max-height:95px;object-fit:contain}.auth-card h1{margin:0}.auth-card form{display:flex;flex-direction:column;gap:10px}.auth-card input{padding:12px;border:1px solid #dce2e8;border-radius:8px}.auth-card label{font-size:12px;font-weight:700}.auth-card button{margin-top:9px}.modal-card{width:min(750px,96vw)}.field input[type=checkbox]{width:auto}.select-filter{min-width:180px;padding:10px;border:1px solid #dce2e8;border-radius:9px}.actions{display:flex;gap:5px}.danger{color:#b33!important}.checkbox-row{display:flex;gap:8px;align-items:center}.settings-list{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.settings-list span{border-radius:20px;background:#eef2f5;padding:7px 10px;font-size:12px}.report-head{display:flex;align-items:center;gap:24px;margin-bottom:15px}.report-head img{width:150px;max-height:65px;object-fit:contain}.report-head h2{margin:0}.report-actions{display:flex;gap:8px;flex-wrap:wrap}.mini-input{width:100%;padding:9px;border:1px solid #dce2e8;border-radius:8px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-grid label{font-size:12px}.report-paper{background:#fff;padding:20px}@media print{body{background:#fff!important}.app,.auth-screen,.modal,.toast{display:none!important}#printArea{display:block!important;position:static!important;padding:10mm!important}.report-paper{padding:0!important}th,td{white-space:normal!important;font-size:10px!important}.report-head img{max-width:150px}}

.stock-edit-row{display:grid;grid-template-columns:minmax(0,1fr) 150px auto;align-items:end;gap:10px;margin:9px 0;padding:10px;border:1px solid #e4e8ed;border-radius:9px}.stock-edit-row input[readonly]{background:#f5f7fa;color:#596775}@media(max-width:650px){.stock-edit-row{grid-template-columns:1fr}}


/* NEXORA 2.0.9 TESTES — adaptação para telas pequenas */
@media (max-width:650px) {
  html,body {width:100%;max-width:100%;overflow-x:hidden}
  .app {width:100%;min-width:0;min-height:100dvh}
  .sidebar {display:none;position:fixed;top:0;left:0;bottom:0;z-index:20;width:min(290px,85vw);height:100dvh;overflow-y:auto;box-shadow:8px 0 30px #0004}
  .sidebar+main {width:100%;min-width:0;max-width:100%}
  header {height:auto;min-height:72px;padding:12px 14px;gap:8px;align-items:flex-start}
  header>div:first-child {min-width:0;flex:1}
  header h1 {font-size:20px;line-height:1.25}
  header p {font-size:12px;line-height:1.3}
  .mobile-menu {display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:0;margin-right:5px;vertical-align:middle;cursor:pointer}
  .header-actions {gap:6px;flex-shrink:0}
  .header-actions .btn {font-size:11px;padding:8px 6px;max-width:90px;white-space:normal}
  .header-actions .avatar {width:30px;height:30px}
  .content {padding:12px;min-width:0}
  .panel {padding:12px;min-width:0;max-width:100%}
  .toolbar {gap:8px}
  .toolbar .search,.search {min-width:0;width:100%;max-width:100%}
  .toolbar .actions {width:100%;flex-wrap:wrap}
  .table-wrap {width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table-wrap table {width:max-content;min-width:100%}
  .cards {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .card {min-width:0;padding:12px}
  .card .num {font-size:21px;overflow-wrap:anywhere}
  .grid,.loc-grid {grid-template-columns:minmax(0,1fr)}
  .modal {padding:10px}
  .modal-card {width:100%;max-width:100%;max-height:calc(100dvh - 20px);padding:14px}
  .form-grid,.permission-grid {grid-template-columns:minmax(0,1fr)}
  .field,.field input,.field select {min-width:0;max-width:100%}
  .form-actions {flex-wrap:wrap}
  .report-head {gap:10px;flex-wrap:wrap}
  .report-head img {max-width:110px}
  .mini {gap:10px;overflow-wrap:anywhere}
  .mini>span {min-width:0}
  #invResult {max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  #invResult table {min-width:460px}
}

/* NEXORA 2.0.9 — menu móvel com fechamento e fundo clicável */
.mobile-nav-backdrop{display:none}
@media(max-width:650px){
  .sidebar.mobile-open{display:flex}
  .mobile-nav-backdrop.visible{display:block;position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:19}
}

/* NEXORA 2.0.9 TESTES — formulários de movimentação no celular.
   Mantém os botões acessíveis, sem alterar regras de estoque. */
@media (max-width:650px) {
  #modal.modal:not(.hidden) {
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px;
    overflow:hidden;
  }
  #modal .modal-card {
    display:flex;
    flex-direction:column;
    width:100%;
    max-width:100%;
    height:auto;
    max-height:calc(100dvh - 16px);
    overflow:hidden;
    padding:12px;
    min-height:0;
  }
  #modal .modal-head {flex:0 0 auto;position:relative;z-index:1}
  #modal #modalBody {
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding-bottom:2px;
  }
  #modal #modalBody .form-actions {
    position:sticky;
    bottom:0;
    z-index:2;
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    padding:12px 0 max(8px,env(safe-area-inset-bottom));
    margin-top:12px;
    background:#fff;
    border-top:1px solid #e4e8ed;
  }
  #modal #modalBody .form-actions .btn {
    flex:1 1 0;
    min-width:0;
    min-height:44px;
    touch-action:manipulation;
    pointer-events:auto;
  }
}
