:root{
  --sv-primary:#0d6efd;
  --sv-secondary:#6c757d;
  --sv-sidebar:#172033;
  --sv-sidebar-text:#f8f9fa;
  --sv-bg:#f5f7fb;
}
body{background:var(--sv-bg);min-height:100vh}.sv-login{min-height:100vh;display:flex;align-items:center}.sv-card{border:0;border-radius:1rem;box-shadow:0 10px 35px rgba(0,0,0,.08)}
.sv-sidebar{width:260px;min-height:100vh;background:var(--sv-sidebar);color:var(--sv-sidebar-text);position:fixed;left:0;top:0;bottom:0;padding:1rem;z-index:1040}.sv-brand img{max-height:52px;max-width:190px}.sv-brand-name{font-weight:700;font-size:1.1rem}.sv-nav a{color:rgba(255,255,255,.82);text-decoration:none;display:flex;gap:.7rem;align-items:center;padding:.75rem .9rem;border-radius:.7rem;margin:.2rem 0}.sv-nav a:hover,.sv-nav a.active{background:rgba(255,255,255,.12);color:#fff}.sv-main{margin-left:260px;min-height:100vh}.sv-topbar{background:#fff;border-bottom:1px solid #e9ecef;padding:.85rem 1.25rem;position:sticky;top:0;z-index:1030}.sv-content{padding:1.25rem}.btn-primary{background:var(--sv-primary);border-color:var(--sv-primary)}.text-primary{color:var(--sv-primary)!important}.bg-primary{background:var(--sv-primary)!important}.stat-card{border:0;border-radius:1rem}.stat-value{font-size:1.8rem;font-weight:700}.table-card{border:0;border-radius:1rem;overflow:hidden}.section{display:none}.section.active{display:block}.form-control-color{width:64px;height:42px}.avatar{width:38px;height:38px;border-radius:50%;background:#eef2ff;display:flex;align-items:center;justify-content:center;font-weight:700;color:#364fc7}.badge-soft{background:#eef2ff;color:#364fc7}.login-logo{max-height:72px;max-width:230px}.cursor-pointer{cursor:pointer}
@media(max-width:991.98px){.sv-sidebar{transform:translateX(-100%);transition:.25s}.sv-sidebar.open{transform:translateX(0)}.sv-main{margin-left:0}.sv-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:1035}.sv-overlay.show{display:block}}

.logo-preview{max-width:220px;max-height:90px;object-fit:contain;border:1px solid #dee2e6;border-radius:.75rem;padding:.5rem;background:#fff}

/* Etapa 1.2 - vinculo de usuarios a unidades */
.unit-assignment-box{border:1px solid var(--bs-border-color);border-radius:.6rem;padding:.35rem .75rem;max-height:220px;overflow:auto;background:var(--bs-body-bg)}
.unit-assignment-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 0;border-bottom:1px solid var(--bs-border-color)}
.unit-assignment-row:last-child{border-bottom:0}
.unit-assignment-row .form-check{margin:0}
@media(max-width:575.98px){.unit-assignment-row{align-items:flex-start;flex-direction:column;gap:.35rem}}
/* Etapa 2 - Estoque */
#scannerReader{width:100%;min-height:240px;background:#111;border-radius:.75rem;overflow:hidden}
#scannerReader video{border-radius:.75rem}
.table-card .card-header{border-bottom:1px solid #eef0f3}
@media(max-width:767px){.sv-content{padding:1rem}.stat-value{font-size:1.7rem}.table{font-size:.86rem}}
