/* Ajustes só deste site (login, menu do usuário, tela de acessos). O resto vem de estilo.css, copiado do CRM BJ. */
#root { position: relative; z-index: 2; }
.sw-center { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.sw-box { display: flex; flex-direction: column; gap: 10px; width: 100%; max-width: 420px; }
.wa-wrap > .sw-box { max-width: 460px; margin: 0 auto; }
.sw-label { font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--mute); margin-top: 4px; }
.sw-input { width: 100%; border: 1px solid var(--rule); background: rgba(255, 255, 255, .035); color: var(--ink-1); border-radius: var(--r-sm); padding: 11px 13px; font-size: 13.5px; }
.sw-input:focus { outline: none; border-color: var(--marca); box-shadow: 0 0 0 3px var(--brand-soft); }
.sw-row { display: grid; grid-template-columns: 1.2fr 1.4fr .8fr auto; gap: 8px; margin-top: 10px; align-items: center; }
@media (max-width: 900px) { .sw-row { grid-template-columns: 1fr; } }
.sw-menu-wrap { position: relative; }
.sw-menu { position: absolute; right: 0; top: calc(100% + 8px); min-width: 190px; padding: 6px; border-radius: 16px; background: rgba(14, 14, 16, .98); border: 1px solid var(--fio2); box-shadow: 0 18px 44px rgba(0, 0, 0, .6); z-index: 60; display: flex; flex-direction: column; }
.sw-menu button { appearance: none; background: none; border: 0; color: var(--ink-1); font: inherit; font-size: 13px; text-align: left; padding: 9px 12px; border-radius: 10px; cursor: pointer; }
.sw-menu button:hover { background: rgba(255, 255, 255, .07); }

/* ---- Painel do administrador ---- */
.sw-bars { display: flex; align-items: flex-end; gap: 6px; height: 170px; margin: 14px 0 8px; }
.sw-bar { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 4px; height: 100%; min-width: 0; }
.sw-bar-n { font-size: 11px; color: var(--ink-2); min-height: 14px; }
.sw-bar-col { flex: 1; width: 100%; max-width: 38px; display: flex; align-items: flex-end; background: rgba(255, 255, 255, .03); border-radius: 8px; overflow: hidden; }
.sw-bar-col > span { display: block; width: 100%; background: var(--marca); border-radius: 8px 8px 0 0; min-height: 0; }
.sw-bar-d { font-size: 10px; color: var(--mute); }
.sw-bar-c { font-size: 10px; color: var(--marca); min-height: 12px; }
.sw-tab { display: flex; flex-direction: column; margin-top: 8px; border: 1px solid var(--fio); border-radius: var(--r-md); overflow-x: auto; }
.sw-tr { display: grid; grid-template-columns: minmax(200px, 2.2fr) 70px 100px minmax(130px, 1.2fr) 52px 56px 48px 52px 100px; gap: 10px; align-items: center; padding: 10px 14px; border-bottom: 1px solid var(--fio); font-size: 13px; min-width: 860px; }
.sw-tr:last-child { border-bottom: 0; }
.sw-tr.head { font-family: var(--mono); font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--mute); }
.sw-tr.off { opacity: .55; }
.sw-tr .r { text-align: right; }
.sw-tr .warn { color: #f5b83d; }
.sw-who { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; min-width: 0; }
.sw-who small { flex-basis: 100%; color: var(--mute); font-size: 11px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sw-who em { font-style: normal; font-size: 10px; border: 1px solid var(--fio2); border-radius: 99px; padding: 1px 7px; color: var(--ink-2); }
.sw-wa { display: flex; align-items: center; gap: 7px; white-space: nowrap; }
