:root {
  --snet-blue: #004a73;
  --snet-green: #0b8f72;
  --snet-border: #d8e5ef;
  --snet-bg: #f4f7fa;
  --snet-muted: #64748b;
  --snet-danger: #b42318;
}
* { box-sizing: border-box; }
body.snet-wa-body { margin:0; font-family: Arial, Helvetica, sans-serif; color:#001a33; background:var(--snet-bg); }
.snet-wa-modal, .snet-wa-admin { max-width: 1280px; margin: 0 auto; padding: 18px; }
.snet-wa-header { display:flex; align-items:center; justify-content:space-between; gap:16px; background:#fff; border:1px solid var(--snet-border); border-radius:18px; padding:18px 22px; box-shadow:0 10px 30px rgba(0,0,0,.04); }
.snet-wa-header h1 { margin:0; font-size:24px; color:var(--snet-blue); }
.snet-wa-header p { margin:6px 0 0; color:var(--snet-muted); }
.snet-wa-user { text-align:right; font-size:13px; }
.snet-wa-user strong { display:block; }
.snet-wa-user span { color:var(--snet-muted); }
.snet-wa-alert { margin:14px 0; background:#fff7d6; border:1px solid #f2d67c; border-radius:14px; padding:12px 14px; color:#5f4300; font-size:14px; }
.snet-wa-grid { display:grid; grid-template-columns: 360px minmax(0, 1fr); gap:16px; }
.snet-wa-panel, .snet-wa-chat-panel, .snet-wa-card { background:#fff; border:1px solid var(--snet-border); border-radius:18px; padding:18px; box-shadow:0 10px 30px rgba(0,0,0,.04); }
.snet-wa-panel h2, .snet-wa-card h2 { margin:0 0 14px; color:var(--snet-blue); font-size:18px; }
.snet-wa-form label { display:block; font-weight:700; margin:0 0 12px; font-size:14px; color:#082f49; }
.snet-wa-form input, .snet-wa-form textarea, .snet-wa-form select, .snet-wa-sendbox textarea, .snet-wa-quick-row select { width:100%; margin-top:6px; border:1px solid #cbdbea; border-radius:12px; padding:11px 12px; font-size:15px; background:#fff; }
.snet-wa-form textarea, .snet-wa-sendbox textarea { resize: vertical; }
.snet-wa-btn { border:1px solid #cbdbea; border-radius:999px; background:#fff; color:var(--snet-blue); padding:10px 16px; font-weight:700; cursor:pointer; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.snet-wa-btn:hover { filter:brightness(.98); }
.snet-wa-btn:disabled { opacity:.5; cursor:not-allowed; }
.snet-wa-btn-primary { background:var(--snet-green); color:#fff; border-color:var(--snet-green); }
.snet-wa-btn-light { background:#f8fbfd; }
.snet-wa-list { display:flex; flex-direction:column; gap:8px; max-height:260px; overflow:auto; }
.snet-wa-conv-item { border:1px solid var(--snet-border); border-radius:14px; padding:10px; cursor:pointer; background:#fbfdff; }
.snet-wa-conv-item:hover { border-color:var(--snet-blue); }
.snet-wa-conv-item strong { display:block; color:var(--snet-blue); }
.snet-wa-conv-item span { display:block; color:var(--snet-muted); font-size:12px; margin-top:4px; }
.snet-wa-chat-panel { display:flex; flex-direction:column; min-height:680px; }
.snet-wa-chat-title { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; border-bottom:1px solid var(--snet-border); padding-bottom:12px; }
.snet-wa-chat-title strong { display:block; color:var(--snet-blue); font-size:18px; }
.snet-wa-chat-title span { color:var(--snet-muted); font-size:13px; display:block; margin-top:4px; }
.snet-wa-actions-top { display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }
.snet-wa-messages { flex:1; overflow:auto; padding:18px 6px; background:#f8fafc; border-radius:14px; margin-top:14px; min-height:330px; }
.snet-wa-empty, .muted { color:var(--snet-muted); font-size:14px; }
.snet-wa-msg { max-width:78%; margin:0 0 10px; padding:10px 12px; border-radius:14px; border:1px solid var(--snet-border); background:#fff; white-space:pre-wrap; line-height:1.35; }
.snet-wa-msg.outbound { margin-left:auto; background:#e7f7f1; border-color:#bfe8d9; }
.snet-wa-msg.inbound { margin-right:auto; background:#fff; }
.snet-wa-msg.system { margin-left:auto; margin-right:auto; background:#eef3f8; color:#475569; font-size:13px; max-width:95%; text-align:center; }
.snet-wa-msg-meta { display:block; margin-top:6px; color:#64748b; font-size:11px; white-space:normal; }
.snet-wa-sendbox { border-top:1px solid var(--snet-border); padding-top:14px; display:flex; flex-direction:column; gap:10px; }
.snet-wa-quick-row { display:flex; gap:8px; align-items:center; }
.snet-wa-quick-row select { margin:0; }
.snet-wa-send-actions { display:flex; justify-content:space-between; gap:12px; align-items:center; }
.snet-wa-send-actions span { color:var(--snet-muted); font-size:12px; }
.snet-wa-footer { margin:14px 0 0; color:#64748b; font-size:12px; display:flex; justify-content:flex-end; }
.snet-wa-success { margin:14px 0; padding:12px; border:1px solid #bfe8d9; background:#e7f7f1; border-radius:12px; }
.snet-wa-error { margin:14px 0; padding:12px; border:1px solid #f5c2c7; background:#fff0f1; color:var(--snet-danger); border-radius:12px; }
.snet-wa-admin-form { display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:12px; }
.snet-wa-admin-form label:has(textarea), .snet-wa-admin-form .snet-wa-check { grid-column:1 / -1; }
.snet-wa-table { width:100%; border-collapse:collapse; margin-top:12px; font-size:13px; }
.snet-wa-table th, .snet-wa-table td { border-bottom:1px solid var(--snet-border); padding:8px; text-align:left; vertical-align:top; }
.snet-wa-table pre { white-space:pre-wrap; margin:0; max-width:520px; }
.snet-wa-check { display:flex !important; align-items:center; gap:8px; }
.snet-wa-check input { width:auto !important; margin:0 !important; }
@media (max-width: 900px) {
  .snet-wa-grid { grid-template-columns:1fr; }
  .snet-wa-admin-form { grid-template-columns:1fr; }
  .snet-wa-msg { max-width:95%; }
}
.snet-wa-login-body { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:24px; }
.snet-wa-login-card { width:min(460px, 100%); background:#fff; border:1px solid var(--snet-border); border-radius:22px; padding:28px; box-shadow:0 18px 48px rgba(15,23,42,.10); }
.snet-wa-login-brand h1 { margin:0 0 8px; color:var(--snet-blue); font-size:26px; }
.snet-wa-login-brand p { margin:0 0 18px; color:var(--snet-muted); }
.snet-wa-user a { color:var(--snet-blue); text-decoration:none; font-size:12px; }

/* v0.2.1 - padrão visual operacional */
.snet-wa-modal, .snet-wa-admin, .snet-wa-home { max-width: 1380px; }
.snet-wa-app-header { display:flex; align-items:center; justify-content:space-between; gap:18px; background:#fff; border:1px solid var(--snet-border); border-radius:18px; padding:14px 18px; box-shadow:0 10px 30px rgba(0,0,0,.04); margin-bottom:14px; }
.snet-wa-brand-block { display:flex; align-items:center; gap:12px; min-width:260px; }
.snet-wa-logo-mark { width:42px; height:42px; border-radius:14px; display:flex; align-items:center; justify-content:center; background:var(--snet-blue); color:#fff; font-weight:800; letter-spacing:-.04em; }
.snet-wa-brand-block h1 { margin:0; color:var(--snet-blue); font-size:22px; line-height:1.1; }
.snet-wa-brand-block p { margin:4px 0 0; color:var(--snet-muted); font-size:13px; }
.snet-wa-main-nav { display:flex; align-items:center; gap:8px; flex:1; justify-content:center; }
.snet-wa-main-nav a { text-decoration:none; border:1px solid transparent; border-radius:999px; padding:8px 13px; color:var(--snet-blue); font-weight:700; font-size:14px; }
.snet-wa-main-nav a:hover, .snet-wa-main-nav a.active { background:#eef7fc; border-color:#cbdbea; }
.snet-wa-user-menu { position:relative; }
.snet-wa-user-trigger { display:flex; align-items:center; gap:9px; border:1px solid #cbdbea; background:#fff; border-radius:999px; padding:6px 10px 6px 7px; cursor:pointer; color:#082f49; }
.snet-wa-avatar { width:34px; height:34px; border-radius:50%; background:#e7f7f1; color:var(--snet-green); display:flex; align-items:center; justify-content:center; font-weight:800; }
.snet-wa-user-text { text-align:left; line-height:1.1; }
.snet-wa-user-text strong { display:block; font-size:13px; max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.snet-wa-user-text small { display:block; color:var(--snet-muted); font-size:11px; margin-top:3px; max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.snet-wa-dropdown { display:none; position:absolute; top:calc(100% + 8px); right:0; z-index:50; width:230px; background:#fff; border:1px solid var(--snet-border); border-radius:14px; box-shadow:0 18px 38px rgba(15,23,42,.16); padding:8px; }
.snet-wa-user-menu:hover .snet-wa-dropdown, .snet-wa-user-menu:focus-within .snet-wa-dropdown { display:block; }
.snet-wa-dropdown a { display:block; text-decoration:none; color:#082f49; padding:9px 10px; border-radius:10px; font-weight:700; font-size:13px; }
.snet-wa-dropdown a:hover { background:#f1f7fb; }
.snet-wa-dropdown a.danger { color:var(--snet-danger); }
.snet-wa-app-footer { margin:16px 0 0; padding:10px 2px; color:#64748b; font-size:12px; display:flex; justify-content:space-between; gap:12px; }
.snet-wa-page-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:12px 0; }
.snet-wa-page-title h2 { margin:0; color:var(--snet-blue); }
.snet-wa-page-title p { margin:4px 0 0; color:var(--snet-muted); }
.snet-wa-toolbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.snet-wa-table-actions { white-space:nowrap; display:flex; gap:6px; align-items:center; }
.snet-wa-btn-small { padding:7px 11px; font-size:12px; }
.snet-wa-badge { display:inline-flex; align-items:center; border:1px solid #cbdbea; border-radius:999px; padding:4px 9px; font-size:12px; font-weight:700; color:var(--snet-blue); background:#f8fbfd; }
.snet-wa-badge.on { color:#067647; background:#ecfdf3; border-color:#abefc6; }
.snet-wa-badge.off { color:#9a3412; background:#fff7ed; border-color:#fed7aa; }
.snet-wa-admin-list { margin-top:12px; overflow:auto; }
.snet-wa-admin-list table { min-width:760px; }
.snet-wa-form-note { color:var(--snet-muted); font-size:13px; margin:0 0 14px; }
.snet-wa-form-card-title { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:12px; }
.snet-wa-form-card-title h2 { margin:0; }
.snet-wa-muted-small { color:var(--snet-muted); font-size:12px; }
.snet-wa-chat-help { margin-top:8px; color:var(--snet-muted); font-size:12px; }
.snet-wa-sendbox-label { font-weight:700; color:#082f49; font-size:13px; margin-bottom:-4px; }
@media (max-width: 900px) {
  .snet-wa-app-header { align-items:flex-start; flex-direction:column; }
  .snet-wa-main-nav { justify-content:flex-start; flex-wrap:wrap; }
  .snet-wa-user-menu { width:100%; }
  .snet-wa-user-trigger { width:100%; justify-content:space-between; border-radius:14px; }
  .snet-wa-dropdown { left:0; right:auto; width:100%; }
  .snet-wa-app-footer { flex-direction:column; }
}

/* v0.2.2 - padrão visual SNet: login, header, avatar seguro */
body.snet-login-body {
  min-height: 100vh;
  display: block;
  padding: 0;
  background: #f5f8fb;
}
.snet-login-shell {
  width: min(1180px, calc(100% - 44px));
  margin: 72px auto 24px;
}
.snet-login-banner-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 28px;
}
.snet-login-banner {
  width: min(560px, 92vw);
  max-height: 142px;
  object-fit: contain;
  display: block;
}
.snet-login-box {
  position: relative;
  background: #fff;
  border: 1px solid #cbdbea;
  border-radius: 24px;
  padding: 70px 48px 42px;
  box-shadow: 0 14px 36px rgba(15, 23, 42, .05);
}
.snet-login-title-row {
  position: absolute;
  top: -34px;
  left: 78px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  padding: 0 22px;
}
.snet-login-title-row h1 {
  margin: 0;
  font-size: 34px;
  color: var(--snet-blue);
  letter-spacing: .02em;
}
.snet-help-dot {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--snet-blue);
  color: #fff;
  font-weight: 800;
  font-size: 16px;
  cursor: help;
}
.snet-login-form label {
  font-size: 18px;
  color: #001a33;
  margin-bottom: 16px;
}
.snet-login-form input {
  margin-top: 10px;
  min-height: 58px;
  font-size: 18px;
  border-radius: 12px;
  background: #eef5ff;
}
.snet-login-submit {
  width: 100%;
  min-height: 58px;
  margin-top: 22px;
  font-size: 18px;
  border-radius: 999px;
}
.snet-login-footer {
  text-align: center;
  margin-top: 16px;
}

.snet-app-topbar {
  min-height: 94px;
  display: grid;
  grid-template-columns: 260px minmax(320px, 1fr) 260px;
  align-items: center;
  gap: 16px;
  background: #fff;
  border-bottom: 1px solid #d8e5ef;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
  margin: -18px calc(50% - 50vw) 18px;
  padding: 14px max(22px, calc((100vw - 1380px) / 2 + 22px));
}
.snet-app-topbar-left {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
}
.snet-app-topbar-center {
  display: flex;
  justify-content: center;
  min-width: 0;
}
.snet-logo-link {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  text-decoration: none;
}
.snet-logo-img {
  width: 128px;
  max-width: 128px;
  height: 54px;
  max-height: 54px;
  object-fit: contain;
  display: block;
}
.snet-logo-fallback {
  display: none;
  align-items: center;
  font-size: 34px;
  font-weight: 800;
  color: #1f6f9f;
  letter-spacing: -.08em;
}
.snet-suite-banner {
  width: min(360px, 100%);
  height: 62px;
  max-height: 62px;
  object-fit: contain;
  display: block;
}
.snet-app-page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: #fff;
  border: 1px solid var(--snet-border);
  border-radius: 18px;
  padding: 18px 22px;
  box-shadow: 0 10px 30px rgba(0,0,0,.04);
  margin-bottom: 14px;
}
.snet-app-page-head h1 {
  margin: 0;
  font-size: 26px;
  color: var(--snet-blue);
}
.snet-app-page-head p {
  margin: 5px 0 0;
  color: var(--snet-muted);
}

/* Avatar do usuário no cabeçalho com limite seguro */
.snet-user-menu {
  position: relative !important;
  flex-shrink: 0 !important;
  display: flex;
  justify-content: flex-end;
}
.snet-user-trigger {
  border: 0;
  background: transparent;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  color: #082f49;
}
.snet-user-avatar {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 56px !important;
  background: #e7f7f1;
  border: 3px solid #0ea5e9;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .15);
  color: var(--snet-blue);
  font-size: 16px;
  font-weight: 800;
}
.snet-user-avatar img,
.snet-user-avatar-img {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  max-width: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  object-fit: cover !important;
  border-radius: 999px !important;
  display: block !important;
}
.snet-user-avatar-fallback {
  width: 56px !important;
  height: 56px !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
}
.snet-user-text {
  display: none;
  text-align: right;
  line-height: 1.1;
}
.snet-user-text strong { display:block; font-size:13px; max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.snet-user-text small { display:block; color:var(--snet-muted); font-size:11px; margin-top:3px; max-width:180px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.snet-user-caret { display: none; }
.snet-user-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 80;
  width: 245px;
  background: #fff;
  border: 1px solid var(--snet-border);
  border-radius: 14px;
  box-shadow: 0 18px 38px rgba(15,23,42,.16);
  padding: 8px;
}
.snet-user-menu:hover .snet-user-dropdown,
.snet-user-menu:focus-within .snet-user-dropdown { display: block; }
.snet-user-dropdown a { display:block; text-decoration:none; color:#082f49; padding:9px 10px; border-radius:10px; font-weight:700; font-size:13px; }
.snet-user-dropdown a:hover { background:#f1f7fb; }
.snet-user-dropdown a.danger { color:var(--snet-danger); }

/* Oculta header antigo da versão anterior, caso algum trecho ainda renderize */
.snet-wa-app-header { display: none !important; }

@media (max-width: 900px) {
  .snet-login-shell { width: calc(100% - 24px); margin-top: 38px; }
  .snet-login-box { padding: 58px 22px 30px; }
  .snet-login-title-row { left: 26px; }
  .snet-app-topbar {
    grid-template-columns: 1fr auto;
    grid-template-areas: "logo user" "suite suite";
    padding: 14px 18px;
  }
  .snet-app-topbar-left { grid-area: logo; }
  .snet-app-topbar-center { grid-area: suite; }
  .snet-user-menu { grid-area: user; }
  .snet-app-page-head { flex-direction: column; align-items: flex-start; }
}

/* SNet v0.2.3 - entrada dupla e menu administrativo do avatar */
.snet-access-body{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:22px;
  background:#eaf3fb;
}
.snet-access-card{
  width:100%;
  max-width:760px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  padding:30px;
  box-shadow:0 20px 60px rgba(15,35,70,.14);
}
.snet-access-banner{display:flex;justify-content:center;margin-bottom:22px}
.snet-access-banner img{max-width:520px;width:100%;height:auto;object-fit:contain}
.snet-access-card h1{margin:0 0 22px;text-align:center;font-size:2.25rem;letter-spacing:-.04em;color:var(--text)}
.snet-access-options{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.snet-access-option{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:110px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  color:var(--text);
  text-decoration:none;
  font-size:1.25rem;
  font-weight:900;
  text-align:center;
  box-shadow:0 10px 26px rgba(15,35,70,.05);
}
.snet-access-option:hover{border-color:var(--primary);color:var(--primary);background:#eef6ff}
.snet-access-footer{margin-top:22px;text-align:center;color:var(--muted);font-size:.82rem}
.snet-login-alt{margin:14px 0 0;text-align:center;font-size:.9rem}
.snet-login-alt a{font-weight:800;color:var(--primary);text-decoration:none}
.snet-user-trigger-avatar-only{padding:0 !important;border:0 !important;background:transparent !important;border-radius:999px !important;box-shadow:none !important}
.snet-user-dropdown{min-width:245px !important;padding:8px !important}
.snet-user-dropdown-head{padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px;color:var(--text)}
.snet-user-dropdown-head strong{display:block;font-size:.95rem;line-height:1.2}
.snet-user-dropdown-head small{display:block;color:var(--muted);font-size:.78rem;margin-top:3px}
.snet-user-menu{position:relative !important;z-index:5000 !important;overflow:visible !important;flex-shrink:0 !important}
.snet-app-topbar{overflow:visible !important}
.snet-app-topbar-center,.snet-suite-banner{pointer-events:none !important}
.snet-user-menu:hover .snet-user-dropdown,.snet-user-menu:focus-within .snet-user-dropdown{display:block !important}
.snet-user-dropdown{top:100% !important;right:0 !important;margin-top:0 !important;z-index:5003 !important;pointer-events:auto !important}
.snet-user-menu::after{content:"";position:absolute;right:0;top:56px;width:245px;height:12px;display:block;z-index:5001}
@media(max-width:620px){.snet-access-options{grid-template-columns:1fr}.snet-access-card h1{font-size:1.9rem}}

/* SNet v0.2.4 - compactação operacional e menu do avatar simplificado */
body.snet-wa-body {
  font-size: 14px !important;
}

.snet-login-shell {
  width: min(760px, calc(100% - 34px)) !important;
  margin: 46px auto 18px !important;
}
.snet-login-banner-wrap {
  margin-bottom: 14px !important;
}
.snet-login-banner {
  width: min(420px, 88vw) !important;
  max-height: 112px !important;
}
.snet-login-box {
  border-radius: 20px !important;
  padding: 48px 34px 28px !important;
}
.snet-login-title-row {
  top: -28px !important;
  left: 54px !important;
  gap: 8px !important;
  padding: 0 16px !important;
}
.snet-login-title-row h1 {
  font-size: 28px !important;
}
.snet-help-dot {
  width: 24px !important;
  height: 24px !important;
  font-size: 14px !important;
}
.snet-login-form label {
  font-size: 15px !important;
  margin-bottom: 12px !important;
}
.snet-login-form input {
  min-height: 44px !important;
  font-size: 15px !important;
  margin-top: 6px !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
}
.snet-login-submit {
  min-height: 46px !important;
  margin-top: 14px !important;
  font-size: 15px !important;
}
.snet-login-footer {
  margin-top: 10px !important;
  font-size: 11px !important;
}

.snet-access-body {
  padding: 18px !important;
}
.snet-access-card {
  max-width: 620px !important;
  border-radius: 22px !important;
  padding: 24px !important;
}
.snet-access-banner {
  margin-bottom: 14px !important;
}
.snet-access-banner img {
  max-width: 400px !important;
  max-height: 120px !important;
}
.snet-access-card h1 {
  font-size: 1.85rem !important;
  margin-bottom: 18px !important;
}
.snet-access-options {
  gap: 14px !important;
}
.snet-access-option {
  min-height: 82px !important;
  border-radius: 18px !important;
  font-size: 1.05rem !important;
}
.snet-access-footer {
  margin-top: 16px !important;
  font-size: .75rem !important;
}

.snet-app-topbar {
  min-height: 72px !important;
  grid-template-columns: 190px minmax(280px, 1fr) 96px !important;
  margin-bottom: 12px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.snet-logo-img {
  width: 104px !important;
  max-width: 104px !important;
  height: 44px !important;
  max-height: 44px !important;
}
.snet-suite-banner {
  width: min(310px, 100%) !important;
  height: 52px !important;
  max-height: 52px !important;
}
.snet-user-avatar,
.snet-user-avatar img,
.snet-user-avatar-img,
.snet-user-avatar-fallback {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  max-width: 48px !important;
  min-height: 48px !important;
  max-height: 48px !important;
}
.snet-user-avatar {
  flex-basis: 48px !important;
}
.snet-user-menu::after {
  top: 48px !important;
  width: 220px !important;
}
.snet-user-dropdown {
  width: 220px !important;
  min-width: 220px !important;
}
.snet-user-dropdown-head {
  padding: 9px 10px 10px !important;
}
.snet-user-dropdown a {
  padding: 8px 10px !important;
  font-size: 12px !important;
}
.snet-app-page-head {
  padding: 12px 16px !important;
  border-radius: 16px !important;
  margin-bottom: 12px !important;
}
.snet-app-page-head h1 {
  font-size: 22px !important;
}
.snet-app-page-head p {
  font-size: 13px !important;
}
.snet-wa-main-nav a {
  padding: 7px 11px !important;
  font-size: 13px !important;
}

.snet-wa-panel,
.snet-wa-card {
  border-radius: 16px !important;
  padding: 16px !important;
}
.snet-wa-panel h2,
.snet-wa-card h2 {
  font-size: 17px !important;
  margin-bottom: 12px !important;
}
.snet-wa-form input,
.snet-wa-form textarea,
.snet-wa-form select,
.snet-wa-sendbox textarea,
.snet-wa-quick-row select {
  font-size: 14px !important;
  padding: 9px 11px !important;
  border-radius: 11px !important;
}
.snet-wa-btn {
  padding: 8px 13px !important;
  font-size: 13px !important;
}
.snet-wa-table {
  font-size: 12px !important;
}
.snet-wa-table th,
.snet-wa-table td {
  padding: 8px 7px !important;
}
.snet-wa-app-footer {
  font-size: 11px !important;
}

@media (max-width: 900px) {
  .snet-app-topbar {
    grid-template-columns: 1fr auto !important;
  }
}
@media (max-width: 620px) {
  .snet-login-shell { width: calc(100% - 22px) !important; margin-top: 34px !important; }
  .snet-login-box { padding: 44px 20px 24px !important; }
  .snet-login-title-row { left: 24px !important; }
}
