
:root{
  --bg0:#070707;
  --bg1:#0b0b0b;
  --fg:#f5f5f5;
  --muted:rgba(255,255,255,.65);
  --glass: rgba(255,255,255,.06);
  --glass2: rgba(255,255,255,.09);
  --line: rgba(255,255,255,.12);
  --shadow: 0 20px 60px rgba(0,0,0,.55);
  --ok:#22c55e;
  --warn:#f59e0b;
  --err:#ef4444;
}

html,body{height:100%}
body{
  margin:0;
  background:
    radial-gradient(1200px 700px at 20% 10%, rgba(255,255,255,.06), transparent 60%),
    radial-gradient(900px 600px at 90% 20%, rgba(255,255,255,.05), transparent 55%),
    radial-gradient(900px 650px at 50% 90%, rgba(255,255,255,.03), transparent 55%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  color:var(--fg);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
}

.glass{
  background: var(--glass);
  border: 1px solid var(--line);
  border-radius: 18px;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: var(--shadow);
}
.glass-soft{
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.muted{ color: var(--muted); }
.fade-in{ animation: fadeIn .45s ease both; }
.slide-up{ animation: slideUp .45s ease both; }
.hidden{ display:none !important; }

@keyframes fadeIn{ from{opacity:0} to{opacity:1} }
@keyframes slideUp{ from{opacity:0; transform: translateY(10px)} to{opacity:1; transform: translateY(0)} }

.btn{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  border-radius: 14px;
  padding: .65rem 1rem;
  color: var(--fg);
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
  cursor:pointer;
}
.btn:hover{ transform: translateY(-1px); background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.22); }
.btn:active{ transform: translateY(0px); }
.btn-primary{
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.10));
  font-weight: 700;
}
.btn-danger{ border-color: rgba(239,68,68,.28); }
.btn-success{ border-color: rgba(34,197,94,.28); }
.btn.ready{ background: rgba(34,197,94,.18); border-color: rgba(34,197,94,.38); }

.input, select.input, textarea.input{
  width:100%;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: .75rem .9rem;
  outline: none;
  color: var(--fg);
  box-sizing:border-box;
}
.input:focus, select.input:focus, textarea.input:focus{ border-color: rgba(255,255,255,.25); }
select.input option{ background: rgba(17,24,39,.96); color: rgba(255,255,255,.96); }

.badge{
  font-size: .75rem;
  padding:.2rem .55rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.86);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  text-align:center;
}
.badge.ok{ border-color: rgba(34,197,94,.32); background: rgba(34,197,94,.10); }
.badge.err{ border-color: rgba(239,68,68,.32); background: rgba(239,68,68,.10); }
.badge.warn{ border-color: rgba(245,158,11,.32); background: rgba(245,158,11,.10); }

.app-shell{ min-height:100vh; display:grid; grid-template-columns: 280px 1fr; gap:24px; padding:24px; box-sizing:border-box; }
.sidebar{ padding:20px; position:sticky; top:24px; height:calc(100vh - 48px); overflow:auto; display:flex; flex-direction:column; }
.nav-list{ display:flex; flex-direction:column; gap:10px; }
.nav-btn{
  width:100%; text-align:left; padding:14px 16px; border-radius:16px; border:1px solid rgba(255,255,255,.08);
  background:transparent; color:var(--fg); display:flex; align-items:center; justify-content:flex-start; gap:12px;
}
.nav-btn.active{ background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.16); box-shadow: inset 0 0 0 1px rgba(255,255,255,.08); }
.nav-btn strong{ font-size:1rem; }
.nav-btn small{ color:var(--muted); display:block; margin-top:2px; font-size:.83rem; }
.sidebar-footer{ margin-top:auto; display:grid; gap:12px; padding-top:18px; }
.sidebar-user-card{ padding:16px; }
.sidebar-user-title{ font-weight:700; font-size:1.02rem; margin-bottom:8px; }
.sidebar-user-email{ display:flex; align-items:flex-start; gap:8px; color:var(--fg); word-break:break-word; font-size:.88rem; line-height:1.35; }
.main-area{ min-width:0; }
.app-header{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px; margin-bottom:18px; }
.app-header-brand{ display:flex; align-items:center; gap:14px; min-width:0; }
.app-header-brand img{ width:48px; height:48px; object-fit:contain; filter: drop-shadow(0 8px 18px rgba(255,255,255,.08)); }
.app-header-brand h1{ margin:0; font-size:1.45rem; line-height:1.1; }
.app-header-brand p{ margin:.25rem 0 0; color:var(--muted); font-size:.92rem; }
.app-header-actions{ display:flex; gap:10px; }
.topbar{ display:flex; gap:16px; justify-content:space-between; align-items:center; margin-bottom:20px; }
.topbar h2{ margin:0; font-size:1.8rem; }
.topbar p{ margin:.35rem 0 0; color:var(--muted); }
.page{ display:none; }
.page.active{ display:block; }
.stats-grid{ display:grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap:16px; }
.stat-card{ padding:18px; min-width:0; }
.stat-card .label{ color:var(--muted); font-size:.85rem; }
.stat-card .value{ font-size:2rem; font-weight:800; margin-top:8px; }
.card{ padding:20px; min-width:0; }
.two-cols{ display:grid; grid-template-columns: 1.15fr .85fr; gap:18px; min-width:0; }
.data-table{ width:100%; border-collapse:collapse; }
.data-table th, .data-table td{ padding:12px 10px; border-bottom:1px solid rgba(255,255,255,.08); text-align:left; vertical-align:top; }
.data-table th{ color:var(--muted); font-size:.85rem; font-weight:600; }
.data-table td{ font-size:.95rem; }
.toolbar{ display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; min-width:0; }
.toolbar .field{ min-width:180px; flex:1 1 180px; min-width:0; }
.toolbar .field-sm{ min-width:140px; flex:0 1 180px; }
.toolbar .field-action{ display:flex; align-items:flex-end; }
.toolbar .field-action .btn{ min-width:120px; }
.toolbar-label{ margin-bottom:6px; }
.logs-toolbar{ align-items:stretch; }
.logs-search-field{ flex:1 1 320px; min-width:260px; }
.section-title{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; flex-wrap:wrap; }
.section-title h3{ margin:0; font-size:1.1rem; }
.section-title p{ margin:.25rem 0 0; color:var(--muted); font-size:.9rem; }
.helper{ color:var(--muted); font-size:.85rem; }
.status-box{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:14px; border-radius:16px; border:1px solid rgba(255,255,255,.10); background: rgba(0,0,0,.16); }
.status-box pre{ margin:0; font-family:inherit; white-space:pre-wrap; }
.dropzone{ border:1px dashed rgba(255,255,255,.20); border-radius:18px; padding:18px; background: rgba(255,255,255,.03); cursor:pointer; }
.dropzone.drag{ border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.05); }
.file-list{ margin-top:12px; display:grid; gap:8px; }
.file-item{ display:flex; justify-content:space-between; gap:12px; padding:10px 12px; border-radius:12px; background: rgba(255,255,255,.04); }
.file-item span:last-child{ color:var(--muted); font-size:.85rem; white-space:nowrap; }
.segmented{ display:flex; gap:10px; }
.segmented button{ flex:1; }
.segmented .active{ background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.22); }
.login-shell{ min-height:100vh; display:grid; place-items:center; padding:24px; }
.login-card{ width:min(960px, 100%); display:grid; grid-template-columns: 1fr 420px; gap:22px; padding:22px; }
.login-hero{ padding:28px; display:flex; flex-direction:column; justify-content:space-between; min-height:540px; }
.login-hero h1{ font-size:clamp(2rem, 4vw, 3.2rem); line-height:1.05; margin:0; }
.login-hero p{ color:var(--muted); max-width:520px; }
.login-panel{ padding:24px; }
.tab-row{ display:flex; gap:10px; margin-bottom:18px; }
.tab-btn{ flex:1; }
.tab-btn.active{ background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.22); }
.grid-2{ display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:12px; }
.empty-state{ padding:28px; text-align:center; color:var(--muted); }
.log-list{ display:grid; gap:10px; min-width:0; }
.log-item{ padding:14px; border-radius:14px; border:1px solid rgba(255,255,255,.08); background: rgba(255,255,255,.03); min-width:0; overflow:hidden; }
.log-item-top{ display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.log-item-top > div:first-child{ min-width:0; }
.log-item strong, .log-item .helper, .log-item div{ word-break:break-word; }
.user-chip{ display:inline-flex; align-items:center; gap:8px; padding:10px 12px; border-radius:999px; border:1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.05); }
.dot{ width:8px; height:8px; border-radius:999px; background:#22c55e; margin-top:.35rem; flex:0 0 auto; }
.site-footer{ margin-top:22px; color:var(--muted); font-size:.82rem; text-align:center; }
.action-row{ display:flex; gap:8px; flex-wrap:wrap; }

.nx-loader{
  position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center;
  background: radial-gradient(900px 520px at 50% 30%, rgba(255,255,255,.06), transparent 60%), linear-gradient(180deg, rgba(0,0,0,.65), rgba(0,0,0,.82));
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); animation: fadeIn .22s ease both;
}
.nx-loader-card{ width: min(560px, 92vw); border-radius: 22px; padding: 24px; }
.nx-rocket-wrap{ height: 92px; position: relative; overflow: hidden; border-radius: 16px; border: 1px solid rgba(255,255,255,.10); background: rgba(255,255,255,.04); }
.nx-rocket{ position: absolute; left: 50%; bottom: 10px; transform: translateX(-50%); width: 56px; height: 68px; opacity: .98; animation: nxRocketLift 3s cubic-bezier(.22,1,.36,1) both; }
.nx-rocket-body{ position: absolute; left: 50%; bottom: 10px; width: 38px; height: 46px; transform: translateX(-50%); border-radius: 18px; border: 1px solid rgba(255,255,255,.24); background: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.06)); box-shadow: 0 14px 28px rgba(0,0,0,.35); }
.nx-rocket-nose{ position: absolute; left: 50%; top: 6px; width: 38px; height: 22px; transform: translateX(-50%); clip-path: polygon(50% 0%, 100% 100%, 0% 100%); border: 1px solid rgba(255,255,255,.20); border-bottom: none; background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08)); }
.nx-rocket-fin{ position: absolute; bottom: 12px; width: 16px; height: 18px; background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.05)); border: 1px solid rgba(255,255,255,.18); }
.nx-rocket-fin-l{ left: 6px; border-radius: 10px 4px 10px 12px; clip-path: polygon(100% 0%, 100% 100%, 0% 86%, 10% 12%); }
.nx-rocket-fin-r{ right: 6px; border-radius: 4px 10px 12px 10px; clip-path: polygon(0% 0%, 100% 12%, 100% 86%, 0% 100%); }
.nx-rocket-window{ position: absolute; left: 50%; top: 14px; width: 12px; height: 12px; transform: translateX(-50%); border-radius: 999px; border: 1px solid rgba(0,0,0,.35); background: radial-gradient(circle at 35% 35%, rgba(255,255,255,.18), rgba(0,0,0,.20)); }
.nx-rocket-flame{ position: absolute; left: 50%; bottom: 0px; width: 18px; height: 18px; transform: translateX(-50%); border-radius: 999px; background: radial-gradient(circle, rgba(255,255,255,.85) 0%, rgba(255,255,255,.25) 55%, rgba(255,255,255,0) 70%); opacity: .55; animation: nxFlame 0.55s ease-in-out infinite; }
.nx-progress{ height: 10px; border-radius: 999px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.05); overflow: hidden; }
.nx-progress > div{ height:100%; width:0%; border-radius:999px; background: linear-gradient(90deg, rgba(255,255,255,.18), rgba(255,255,255,.38)); transition: width .12s linear; }
@keyframes nxRocketLift{ 0%{ transform: translateX(-50%) translateY(0) scale(1); } 65%{ transform: translateX(-50%) translateY(-28px) scale(1.01);} 100%{ transform: translateX(-50%) translateY(-54px) scale(1.02);} }
@keyframes nxFlame{ 0%{ transform: translateX(-50%) scale(.85); opacity:.35; } 50%{ transform: translateX(-50%) scale(1.05); opacity:.65; } 100%{ transform: translateX(-50%) scale(.9); opacity:.42; } }

@media (max-width: 1100px){
  .app-shell{ grid-template-columns:1fr; }
  .sidebar{ position:relative; top:auto; height:auto; }
  .stats-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .two-cols{ grid-template-columns: 1fr; }
}
@media (max-width: 860px){
  .login-card{ grid-template-columns: 1fr; }
  .login-hero{ min-height:auto; }
}
@media (max-width: 720px){
  .stats-grid, .grid-2{ grid-template-columns:1fr; }
  .topbar, .app-header{ flex-direction:column; align-items:flex-start; }
  .toolbar .field, .toolbar .field-sm, .logs-search-field{ min-width:100%; flex-basis:100%; }
  .toolbar .field-action{ width:100%; }
  .toolbar .field-action .btn{ width:100%; }
}

.login-card-single{ width:min(360px, 100%); grid-template-columns: 1fr; }
.login-panel-full{ padding:26px 24px 22px; }
.login-brand-top{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; margin-bottom:18px; text-align:center; }
.login-brand-top img{ width:54px; height:54px; object-fit:contain; }
.login-brand-title{ font-size:1.05rem; font-weight:800; line-height:1.1; }
.login-brand-subtitle{ font-size:.74rem; }
.login-section{ margin-top:6px; }
.login-section-title{ font-size:1rem; font-weight:800; }
.stack-form{ display:grid; gap:10px; margin-top:14px; }
.login-divider{ display:flex; align-items:center; justify-content:center; margin:18px 0 14px; }
.login-divider::before,.login-divider::after{ content:""; flex:1; height:1px; background:rgba(255,255,255,.10); }
.login-divider span{ color:var(--muted); font-size:.78rem; margin:0 12px; text-transform:lowercase; }
.login-note{ text-align:center; font-size:.74rem; margin-top:10px; }


/* Ajustes finais layout Importador */
:root{ --headerH: 78px; }
html, body{ overflow:hidden; }
.app-shell{ height:100vh; display:grid; grid-template-columns:230px 1fr; grid-template-rows:var(--headerH) 1fr; gap:12px; padding:10px; box-sizing:border-box; overflow:hidden; }
.app-header-global{ grid-column:1 / -1; grid-row:1; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 18px; margin-bottom:0; min-width:0; }
.sidebar{ grid-column:1; grid-row:2; padding:12px; position:relative; top:auto; height:auto; min-height:0; overflow-y:auto; display:flex; flex-direction:column; }
.main-area{ grid-column:2; grid-row:2; min-width:0; min-height:0; height:100%; overflow-y:scroll; overflow-x:hidden; padding-right:4px; }
.topbar{ margin-bottom:12px; padding-right:2px; }
.topbar h2{ font-size:1.35rem; }
.topbar p{ font-size:.92rem; }
.app-header{ margin-bottom:0; }
.app-header-brand img{ width:36px; height:36px; }
.app-header-brand h1{ font-size:1.15rem; }
.app-header-brand p{ font-size:.86rem; }
.sidebar-footer{ margin-top:auto; display:grid; gap:10px; padding-top:14px; }
.sidebar-user-card{ padding:14px; }
.sidebar-user-title{ font-size:.98rem; margin-bottom:6px; }
.nav-list{ gap:8px; }
.nav-btn{ min-height:62px; padding:12px 14px; border-radius:14px; }
.nav-btn strong{ font-size:.96rem; }
.nav-btn small{ font-size:.78rem; }
.card{ padding:16px; }
.section-title{ margin-bottom:12px; }
.section-title h3{ font-size:1rem; }
.section-title p, .helper{ font-size:.84rem; }
.section-actions{ display:flex; gap:10px; flex-wrap:wrap; }
.stats-grid{ gap:12px; }
.stat-card{ padding:16px; }
.stat-card .label{ font-size:.8rem; }
.stat-card .value{ font-size:1.7rem; margin-top:6px; }
.two-cols{ gap:12px; }
.data-table th, .data-table td{ padding:10px 8px; font-size:.9rem; }
.toolbar{ gap:10px; }
.toolbar .field-sm{ min-width:120px; }
.toolbar .field-action{ min-width:120px; }
.toolbar .field-action .btn{ min-width:106px; }
.log-list{ display:grid; gap:10px; min-width:0; max-height:430px; overflow-y:scroll; overflow-x:hidden; padding-right:6px; }
#logsList{ max-height:calc(100vh - 255px); overflow-y:scroll; overflow-x:hidden; padding-right:6px; }
.table-scroll{ overflow:auto; max-width:100%; }
.card-scroll{ overflow:auto; }
.action-row{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.action-row .btn{ white-space:nowrap; }
.sidebar::-webkit-scrollbar, .main-area::-webkit-scrollbar, .log-list::-webkit-scrollbar, #logsList::-webkit-scrollbar, .table-scroll::-webkit-scrollbar{ width:10px; height:10px; }
.sidebar::-webkit-scrollbar-thumb, .main-area::-webkit-scrollbar-thumb, .log-list::-webkit-scrollbar-thumb, #logsList::-webkit-scrollbar-thumb, .table-scroll::-webkit-scrollbar-thumb{ background:rgba(255,255,255,.14); border-radius:999px; }
.sidebar::-webkit-scrollbar-track, .main-area::-webkit-scrollbar-track, .log-list::-webkit-scrollbar-track, #logsList::-webkit-scrollbar-track, .table-scroll::-webkit-scrollbar-track{ background:rgba(255,255,255,.04); border-radius:999px; }
@media (max-width:1100px){
  html, body{ overflow:auto; }
  .app-shell{ height:auto; min-height:100vh; grid-template-columns:1fr; grid-template-rows:auto auto 1fr; overflow:visible; }
  .app-header-global{ grid-column:1; grid-row:1; }
  .sidebar{ grid-column:1; grid-row:2; overflow:visible; }
  .main-area{ grid-column:1; grid-row:3; overflow:visible; }
}

.login-card-single .status-box{ margin-top:16px !important; }
.login-card-single .site-footer{ margin-top:16px; font-size:.76rem; }
.login-card-single .input{ padding:.72rem .85rem; }
.login-card-single .btn{ padding:.62rem .95rem; }


.nav-btn[hidden], .admin-only[hidden], .admin-only-page[hidden]{ display:none !important; }
.stat-card{ position:relative; overflow:hidden; }
.stat-card::before{ content:""; position:absolute; left:18px; right:18px; top:0; height:3px; border-radius:999px; background:rgba(255,255,255,.2); }
.stats-grid .stat-card:nth-child(1)::before{ background:#60a5fa; }
.stats-grid .stat-card:nth-child(2)::before{ background:#f59e0b; }
.stats-grid .stat-card:nth-child(3)::before{ background:#22c55e; }
.stats-grid .stat-card:nth-child(4)::before{ background:#a855f7; }
.log-item-top .helper{ font-size:.82rem; }
.log-item > div:not(.log-item-top){ word-break:break-word; }
.log-item .helper{ word-break:break-word; }
#dashboardRecentLogs .log-item, #logsList .log-item{ padding-right:12px; }
#dashboardUsersBody .helper, #logsList .helper, #dashboardRecentLogs .helper{ font-size:.8rem; }
.modal-overlay{ position:fixed; inset:0; z-index:2000; background:rgba(0,0,0,.65); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); display:grid; place-items:center; padding:24px; }
.modal-card{ width:min(720px, 100%); padding:20px; max-height:min(90vh, 860px); overflow:auto; }
.modal-card-compact{ width:min(680px, 100%); }
#approvalModalOverlay .modal-card{ border-color: rgba(255,255,255,.14); box-shadow: 0 24px 72px rgba(0,0,0,.6); }
#approvalModalOverlay .section-title h3{ font-size:1.1rem; }
#approvalModalOverlay .section-title p{ max-width:520px; }
.modal-form{ display:block; }
.modal-checks{ display:grid; gap:10px; margin-top:14px; }
.check-row{ display:flex; align-items:center; gap:10px; color:var(--fg); font-size:.95rem; }
.check-row input{ accent-color:#fff; width:16px; height:16px; }
@media (max-width:720px){ .modal-overlay{ padding:12px; } .modal-card{ padding:16px; } }


/* Ajuste fino do login para aproximar do Nexus */
.login-card-single{ width:min(344px, 100%); }
.login-panel-full{ padding:24px 22px 20px; }
.login-brand-top{ gap:8px; margin-bottom:16px; }
.login-brand-top img{ width:50px; height:50px; }
.login-brand-title{ font-size:1rem; }
.login-brand-subtitle{ font-size:.7rem; }
.login-section-title{ font-size:.96rem; }
.login-section .muted.text-sm{ font-size:.78rem; line-height:1.35; }
.login-shell label.muted{ font-size:.76rem; }
.login-card-single .input{ padding:.68rem .82rem; font-size:.78rem; }
.login-card-single .btn{ padding:.6rem .92rem; font-size:.8rem; }
.login-divider{ margin:16px 0 12px; }
.login-divider span{ font-size:.74rem; }
.login-note{ font-size:.7rem; margin-top:8px; }
.login-card-single .site-footer{ margin-top:14px; font-size:.72rem; }


/* --- Ajuste fino: login do Importador no mesmo peso visual do Nexus --- */
.login-shell{
  padding: 18px;
}
.login-card-single{
  width:min(332px, 100%);
  padding: 10px;
  border-radius: 20px;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 18px 42px rgba(0,0,0,.42);
}
.login-panel-full{
  padding: 18px 18px 16px;
  border-radius: 18px;
  background: rgba(255,255,255,.02);
  border: 1px solid rgba(255,255,255,.07);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.login-brand-top{
  gap: 6px;
  margin-bottom: 14px;
}
.login-brand-top img{
  width: 44px;
  height: 44px;
}
.login-brand-title{
  font-size: .92rem;
}
.login-brand-subtitle{
  font-size: .68rem;
}
.login-section-title{
  font-size: .95rem;
}
.login-section .muted.text-sm{
  font-size: .74rem;
  line-height: 1.35;
}
.login-shell label.muted{
  font-size: .74rem;
}
.stack-form{
  gap: 8px;
  margin-top: 10px;
}
.login-card-single .input{
  padding: .62rem .8rem;
  font-size: .76rem;
  border-radius: 13px;
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.10);
}
.login-card-single .btn{
  padding: .6rem .88rem;
  font-size: .78rem;
  border-radius: 13px;
}
.login-card-single .btn-primary{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.12);
}
.login-divider{
  margin: 14px 0 12px;
}
.login-divider span{
  font-size: .72rem;
}
.login-note{
  margin-top: 8px;
  font-size: .7rem;
}
.login-card-single .site-footer{
  margin-top: 12px;
  font-size: .7rem;
  color: rgba(255,255,255,.52);
}
