@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700;750&display=swap");
:root {
  --blue: #0057ff;
  --ink: #172339;
  --muted: #7b8798;
  --line: #e6eaf0;
  --bg: #f7f9fc;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font:
    14px Inter,
    system-ui,
    sans-serif;
}
button,
input,
select,
textarea {
  font: inherit;
}
button {
  cursor: pointer;
}
button,
select {
  color: inherit;
}
button:focus-visible,
a:focus-visible {
  outline: 3px solid #70c7ff;
}
button {
  border: 1px solid var(--line);
  background: white;
  border-radius: 9px;
  padding: 11px 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
svg.i {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 244px;
  background: white;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  padding: 24px 16px;
  z-index: 30;
}
.brand {
  width: 172px;
  height: 58px;
  object-fit: contain;
  mix-blend-mode: multiply;
  margin: 0 10px 22px;
}
.workspace {
  display: flex;
  gap: 11px;
  align-items: center;
  padding: 15px 8px;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin-bottom: 22px;
}
.avatar {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: #eaf1ff;
  color: var(--blue);
  font-weight: 650;
  flex-shrink: 0;
}
.workspace strong {
  font-size: 12px;
}
.workspace small {
  display: block;
  font-size: 10px;
  color: var(--muted);
  margin-top: 5px;
}
.group {
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #9ba4b1;
  margin: 21px 13px 10px;
}
.nav {
  width: 100%;
  justify-content: flex-start;
  border: 0;
  background: none;
  color: #697588;
  padding: 12px;
  margin-bottom: 3px;
  font-size: 12px;
}
.nav.active {
  background: #edf3ff;
  color: var(--blue);
  font-weight: 650;
  box-shadow: inset 3px 0 var(--blue);
}
.count {
  margin-left: auto;
  background: #e8efff;
  color: var(--blue);
  padding: 3px 6px;
  border-radius: 5px;
  font-size: 10px;
}
.bottom {
  margin-top: auto;
}
.company {
  padding: 18px 10px;
  border-top: 1px solid var(--line);
  color: #8f99a7;
  font-size: 9px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.company img {
  width: 55px;
}
.user {
  display: flex;
  gap: 9px;
  align-items: center;
  padding: 13px 8px;
  border-top: 1px solid var(--line);
  font-size: 11px;
}
.user small {
  display: block;
  color: var(--muted);
  font-size: 10px;
  margin-top: 4px;
}
.main {
  margin-left: 244px;
}
.topbar {
  height: 74px;
  background: #fff;
  border-bottom: 1px solid var(--line);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 34px;
}
.crumb {
  color: #9ba4b1;
  font-size: 11px;
}
.crumb b {
  color: #536076;
  font-weight: 500;
}
.right {
  display: flex;
  align-items: center;
  gap: 14px;
}
.live {
  color: #49856b;
  font-size: 10px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.live:before {
  content: "";
  width: 6px;
  height: 6px;
  background: #25b680;
  border-radius: 50%;
}
.iconbtn {
  padding: 9px;
  border: 0;
  background: transparent;
  position: relative;
}
.dot {
  position: absolute;
  right: 10px;
  top: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #f59e0b;
}
.content {
  padding: 31px 34px;
}
.eyebrow {
  font-size: 10px;
  color: #8b98aa;
  letter-spacing: 1.3px;
  font-weight: 600;
}
.heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 27px;
  gap: 16px;
}
h1 {
  font-size: 26px;
  letter-spacing: -0.8px;
  margin: 8px 0;
}
p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}
.primary {
  background: var(--blue);
  border-color: var(--blue);
  color: #fff;
  box-shadow: 0 4px 9px #0057ff1c;
}
.actions {
  display: flex;
  gap: 10px;
  align-items: center;
}
.actions button {
  font-size: 11px;
}
.metrics {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  margin-bottom: 27px;
}
.metric {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 3px #17233903;
}
.metric-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #748095;
  font-size: 11px;
}
.tile {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: grid;
  place-items: center;
  background: #edf3ff;
  color: #3579ed;
}
.metric strong {
  display: block;
  font-size: 27px;
  letter-spacing: -1px;
  margin-top: 9px;
}
.metric small {
  display: block;
  font-size: 10px;
  color: #95a0af;
  margin-top: 10px;
}
.positive {
  color: #1b9b72 !important;
}
.amber {
  color: #d79020 !important;
  background: #fff6e6;
}
.green {
  color: #1ca479;
  background: #e9f8f1;
}
.cyan {
  color: #0dabc8;
  background: #e9fafd;
}
.sectionline {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 19px;
}
.tabs {
  display: flex;
  gap: 5px;
  background: #edf1f7;
  border: 1px solid #e9edf4;
  padding: 4px;
  border-radius: 9px;
}
.tabs button {
  border: 0;
  background: transparent;
  font-size: 11px;
  padding: 9px 14px;
  color: #7d899a;
}
.tabs .active {
  color: #1f3554;
  background: white;
  box-shadow: 0 1px 4px #10284e0c;
}
.demo {
  font-size: 9px;
  color: #8897ac;
  display: flex;
  align-items: center;
  gap: 6px;
}
.demo:before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #8fa5c7;
}
.filters {
  border: 1px solid var(--line);
  border-radius: 11px;
  background: white;
  padding: 12px;
  display: flex;
  gap: 10px;
  margin-bottom: 21px;
}
.search {
  position: relative;
  flex: 1;
  max-width: 385px;
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fafbfd;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 0 12px;
  color: #97a1af;
}
.search input {
  width: 100%;
  border: 0;
  background: none;
  padding: 11px 0;
  outline: none;
  font-size: 11px;
}
.filters select {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 9px 12px;
  font-size: 11px;
  min-width: 143px;
}
.filters button {
  font-size: 11px;
}
.filters .push {
  margin-left: auto;
}
.board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}
.column {
  border: 1px solid #e3e8f0;
  border-radius: 12px;
  background: #f0f3f8;
  min-height: 505px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.colhead {
  padding: 18px 14px 14px;
  border-bottom: 1px solid #e1e7f0;
}
.coltitle {
  display: flex;
  gap: 8px;
  align-items: center;
  font-size: 12px;
  font-weight: 650;
}
.coltitle .circle {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--col);
}
.badge {
  background: #e5ebf3;
  color: #7a8799;
  border-radius: 5px;
  font-size: 9px;
  padding: 3px 5px;
}
.coltitle button {
  border: 0;
  background: none;
  padding: 0;
  margin-left: auto;
  color: #8d99aa;
}
.colhead p {
  font-size: 9px;
  margin: 9px 0 0 15px;
}
.cards {
  padding: 10px;
  flex: 1;
}
.card {
  background: white;
  border: 1px solid #e1e7ef;
  box-shadow: 0 2px 3px #162f4c04;
  border-radius: 9px;
  padding: 14px 13px;
  margin-bottom: 10px;
  cursor: pointer;
  transition:
    transform 0.15s,
    box-shadow 0.15s;
}
.card:hover {
  transform: translateY(-2px);
  box-shadow: 0 5px 12px #162f4c0b;
}
.cardtop {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 8px;
  color: #9aa5b5;
}
.tag {
  padding: 4px 7px;
  border-radius: 4px;
  background: #edf5ff;
  color: #4f8aca;
  font-size: 8px;
  font-weight: 550;
}
.tag.edu {
  background: #ebf9f6;
  color: #32a28c;
}
.tag.infra {
  background: #fff5e6;
  color: #bf922b;
}
.card h3 {
  font-size: 11px;
  line-height: 1.6;
  margin: 11px 0 9px;
  font-weight: 600;
}
.person {
  font-size: 10px;
  color: #6c7b90;
  display: flex;
  align-items: center;
  gap: 6px;
}
.person .avatar {
  width: 20px;
  height: 20px;
  font-size: 8px;
  border-radius: 50%;
}
.location {
  font-size: 9px;
  color: #98a3b2;
  margin: 9px 0 13px;
}
.cardfoot {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #f0f2f6;
  padding-top: 11px;
  align-items: center;
  font-size: 8px;
  color: #9ba6b5;
}
.priority {
  display: flex;
  align-items: center;
  gap: 4px;
}
.priority:before {
  content: "";
  width: 4px;
  height: 4px;
  background: #f0b246;
  border-radius: 50%;
}
.priority.high {
  color: #da7a70;
}
.priority.high:before {
  background: #e98276;
}
.tinyavatar {
  background: #e7efff;
  border: 2px solid #fff;
  color: #4b74a8;
  font-size: 7px;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
}
.add {
  background: none;
  border: 0;
  border-top: 1px solid #e0e6ef;
  border-radius: 0;
  color: #8c99ac;
  font-size: 10px;
  padding: 14px;
}
.footnote {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
  color: #a4aebb;
  font-size: 9px;
}
.mobilebar,
.mobilebrand {
  display: none;
}
.toast {
  position: fixed;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  background: #142c4e;
  color: white;
  padding: 13px 22px;
  border-radius: 10px;
  z-index: 100;
  box-shadow: 0 8px 30px #0002;
  font-size: 12px;
}
dialog {
  border: 1px solid var(--line);
  border-radius: 16px;
  width: 450px;
  padding: 26px;
  max-width: 92vw;
  color: var(--ink);
}
dialog::backdrop {
  background: #10274760;
  backdrop-filter: blur(3px);
}
dialog h2 {
  margin: 0 0 6px;
  font-size: 20px;
}
dialog label {
  display: block;
  margin-top: 17px;
  font-size: 11px;
  color: #748095;
}
dialog input,
dialog textarea,
dialog select {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 7px;
  background: white;
}
dialog .actions {
  justify-content: flex-end;
  margin-top: 24px;
}
.listview .board {
  display: block;
}
.listview .column {
  min-height: 0;
  margin-bottom: 20px;
}
.listview .cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.empty {
  font-size: 11px;
  padding: 20px;
  color: #9aa7b7;
}
.summary {
  display: none;
}
.summary.visible {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 20px;
  margin-bottom: 25px;
}
.summary article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 23px;
}
.summary h3 {
  font-size: 13px;
}
.bar {
  height: 11px;
  background: #edf2fa;
  border-radius: 4px;
  margin: 12px 0 20px;
  overflow: hidden;
}
.bar i {
  display: block;
  height: 100%;
  background: var(--blue);
  border-radius: 4px;
}
.mobiletitle {
  display: none;
}
body.collapsed .sidebar {
  width: 78px;
}
body.collapsed .sidebar .nav {
  font-size: 0;
  justify-content: center;
}
body.collapsed .sidebar .brand,
body.collapsed .workspace,
body.collapsed .group,
body.collapsed .company,
body.collapsed .user,
body.collapsed .count {
  display: none;
}
body.collapsed .main {
  margin-left: 78px;
}
@media (min-width: 1500px) {
  .content {
    max-width: 1550px;
    margin: auto;
    padding-top: 40px;
  }
  .column {
    min-height: 610px;
  }
}
@media (max-width: 1100px) {
  .sidebar {
    width: 210px;
  }
  .main {
    margin-left: 210px;
  }
  .content {
    padding: 25px 22px;
  }
  .topbar {
    padding: 0 22px;
  }
  .board {
    gap: 10px;
  }
  .card {
    padding: 12px 10px;
  }
  .metrics {
    gap: 10px;
  }
  .metric {
    padding: 15px;
  }
  .filters select {
    min-width: 115px;
  }
  .actions button {
    padding: 10px;
  }
}
@media (max-width: 760px) {
  body {
    background: #f6f8fc;
  }
  .sidebar {
    transform: translateX(-100%);
    width: 265px;
    transition: transform 0.2s;
    box-shadow: 15px 0 60px #12274620;
  }
  .sidebar.open {
    transform: translateX(0);
  }
  .main,
  body.collapsed .main {
    margin-left: 0;
  }
  .topbar {
    height: 70px;
    padding: 0 19px;
    background: white;
    position: sticky;
    top: 0;
    z-index: 20;
  }
  .crumb {
    display: none;
  }
  .mobilebrand {
    display: block;
    width: 133px;
    height: 44px;
    object-fit: contain;
  }
  .right {
    gap: 5px;
  }
  .live {
    display: none;
  }
  .right > .avatar {
    width: 31px;
    height: 31px;
    font-size: 10px;
  }
  .content {
    padding: 23px 17px 110px;
  }
  .heading {
    align-items: flex-start;
    margin-bottom: 21px;
  }
  .eyebrow {
    font-size: 8px;
  }
  h1 {
    font-size: 24px;
    margin-top: 7px;
  }
  .heading p {
    font-size: 10px;
    max-width: 230px;
  }
  .heading .actions > button:first-child {
    display: none;
  }
  .heading .primary {
    width: 39px;
    height: 39px;
    font-size: 0;
    padding: 0;
    margin-top: 12px;
  }
  .heading .primary svg {
    width: 21px;
    height: 21px;
  }
  .metrics {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 24px;
  }
  .metric {
    padding: 14px;
    border-radius: 13px;
  }
  .metric-top {
    font-size: 10px;
  }
  .tile {
    width: 28px;
    height: 28px;
    border-radius: 8px;
  }
  .tile svg {
    width: 15px;
    height: 15px;
  }
  .metric strong {
    font-size: 25px;
    margin-top: 5px;
  }
  .metric small {
    font-size: 8px;
    margin-top: 7px;
  }
  .sectionline {
    gap: 5px;
  }
  .demo {
    font-size: 7px;
    max-width: 65px;
    line-height: 1.6;
  }
  .tabs {
    gap: 0;
  }
  .tabs button {
    padding: 8px 10px;
    font-size: 10px;
  }
  .tabs svg {
    width: 14px;
    height: 14px;
  }
  .filters {
    padding: 0;
    background: none;
    border: 0;
    flex-wrap: wrap;
    gap: 8px;
  }
  .search {
    max-width: none;
    flex: 1 0 100%;
    background: white;
    min-height: 43px;
  }
  .filters select {
    flex: 1;
    min-width: 0;
    padding: 10px 7px;
    font-size: 10px;
    background: white;
  }
  .filters button {
    padding: 9px;
    font-size: 10px;
  }
  .filters .push {
    margin: 0;
  }
  .filters .filtermore {
    display: none;
  }
  .board {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    gap: 13px;
    margin-right: -17px;
    padding-right: 25px;
    padding-bottom: 12px;
  }
  .column {
    flex: 0 0 86%;
    scroll-snap-align: start;
    min-height: 480px;
  }
  .coltitle {
    font-size: 12px;
  }
  .card {
    padding: 16px;
  }
  .card h3 {
    font-size: 12px;
  }
  .cardtop,
  .tag {
    font-size: 9px;
  }
  .person {
    font-size: 11px;
  }
  .location {
    font-size: 10px;
  }
  .cardfoot {
    font-size: 9px;
  }
  .colhead {
    padding: 17px;
  }
  .footnote {
    font-size: 8px;
    gap: 15px;
  }
  .footnote span:last-child {
    display: none;
  }
  .mobilebar {
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 25;
    background: #ffffffed;
    backdrop-filter: blur(15px);
    border-top: 1px solid var(--line);
    padding: 9px 9px calc(9px + env(safe-area-inset-bottom));
    justify-content: space-around;
  }
  .mobilebar button {
    border: 0;
    background: none;
    flex-direction: column;
    padding: 6px 12px;
    gap: 5px;
    font-size: 8px;
    color: #8e9aae;
  }
  .mobilebar button.active {
    color: var(--blue);
  }
  .mobilebar .newmobile {
    background: var(--blue);
    color: white;
    border-radius: 14px;
    width: 43px;
    height: 43px;
    margin-top: -22px;
    box-shadow: 0 5px 13px #0057ff35;
    padding: 0;
  }
  .mobilebar .newmobile svg {
    width: 24px;
    height: 24px;
  }
  .toast {
    bottom: 90px;
    width: 85%;
    text-align: center;
  }
  .listview .board {
    display: block;
    margin-right: 0;
    padding-right: 0;
  }
  .listview .cards {
    display: block;
  }
  .summary.visible {
    grid-template-columns: 1fr;
  }
  .mobiletitle {
    display: block;
    font-size: 10px;
    color: #8e9aaf;
    margin-bottom: 10px;
  }
}
/* Connected application */
:root {
  font-size: 14px;
}
a {
  color: var(--blue);
}
[hidden] {
  display: none !important;
}
.login {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 100dvh;
  background: white;
}
.login-art {
  background:
    radial-gradient(ellipse at 10% 80%, #00d4ff55, transparent 60%),
    linear-gradient(145deg, #003db5, #082657);
  color: white;
  padding: 12vh 9vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.login-art h1 {
  font-size: 48px;
  line-height: 1.15;
  letter-spacing: -2px;
  margin: 22px 0;
}
.login-art p {
  color: #b8d8ff;
  font-size: 15px;
}
.login-art small {
  margin-top: 50px;
  color: #94b9e9;
}
.login-panel {
  padding: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.login-box {
  width: 100%;
  max-width: 375px;
}
.loginlogo {
  width: 190px;
  height: 72px;
  object-fit: contain;
  mix-blend-mode: multiply;
  margin-bottom: 20px;
}
.login-box h2 {
  font-size: 24px;
}
.login-box button {
  width: 100%;
  margin-top: 20px;
}
.login-box .textbtn {
  background: none;
  border: 0;
  color: var(--blue);
  margin-top: 5px;
  font-size: 11px;
}
.login-box label,
.formgrid label,
.public-card label {
  display: block;
  font-size: 11px;
  color: #758197;
  margin-top: 16px;
}
input,
textarea,
select {
  outline-color: #70bfff;
}
.login-box input,
.formgrid input,
.formgrid textarea,
.formgrid select,
.public-card input,
.public-card textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: white;
  color: var(--ink);
  margin-top: 7px;
}
.notice {
  padding: 12px 15px;
  border-radius: 9px;
  background: #edf5ff;
  color: #3972b4;
  font-size: 11px;
  line-height: 1.7;
  margin: 15px 0;
}
.notice.warn {
  background: #fff5e3;
  color: #a37627;
}
.error {
  color: #be423c;
  font-size: 12px;
  line-height: 1.6;
}
.success {
  color: #138964;
}
.formgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 15px;
}
.formgrid .wide {
  grid-column: 1/-1;
}
.formgrid textarea {
  min-height: 80px;
}
.modalhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.modalhead button {
  border: 0;
  font-size: 22px;
  padding: 0 5px;
}
dialog {
  max-height: 90dvh;
  overflow: auto;
  width: 680px;
}
dialog .actions {
  margin-top: 22px;
}
.panel {
  background: white;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 23px;
  margin-bottom: 20px;
}
.panel h2 {
  font-size: 16px;
  margin: 0 0 10px;
}
.panel h3 {
  font-size: 13px;
}
.panel p {
  font-size: 12px;
}
.toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.toolbar h2 {
  font-size: 16px;
  margin: 0;
}
.tablewrap {
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: white;
}
table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
  white-space: nowrap;
  font-size: 11px;
}
th {
  padding: 14px 16px;
  background: #fafbfd;
  color: #8b97a8;
  font-size: 10px;
  font-weight: 500;
  border-bottom: 1px solid var(--line);
}
td {
  padding: 15px 16px;
  border-bottom: 1px solid #f0f3f7;
  max-width: 320px;
  overflow: hidden;
  text-overflow: ellipsis;
}
td button {
  padding: 7px 10px;
  font-size: 10px;
}
tr:last-child td {
  border-bottom: 0;
}
.pill {
  font-size: 9px;
  border-radius: 5px;
  padding: 5px 7px;
  background: #edf3ff;
  color: #4277bf;
}
.pill.done,
.pill.approved,
.pill.sent,
.pill.published {
  background: #e9f8f1;
  color: #16865d;
}
.pill.high,
.pill.urgent,
.pill.unknown {
  background: #fff1e9;
  color: #bb7742;
}
.split {
  display: grid;
  grid-template-columns: 310px 1fr;
  gap: 17px;
}
.conversation-list {
  max-height: 620px;
  overflow: auto;
}
.conversation-list button {
  display: block;
  text-align: left;
  width: 100%;
  margin-bottom: 8px;
}
.conversation-list small {
  display: block;
  color: var(--muted);
  font-size: 10px;
  margin-top: 5px;
}
.messages {
  height: 390px;
  overflow: auto;
  background: #f3f7fb;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 18px;
  margin-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.bubble {
  border: 1px solid var(--line);
  background: white;
  padding: 10px 13px;
  border-radius: 12px;
  max-width: 85%;
  font-size: 12px;
  line-height: 1.7;
  white-space: pre-wrap;
  align-self: flex-start;
}
.bubble.out {
  background: #e5f0ff;
  border-color: #dce7fb;
  align-self: flex-end;
}
.bubble small {
  display: block;
  color: #8b9bad;
  font-size: 9px;
  margin-top: 5px;
}
.inlineform {
  display: flex;
  gap: 9px;
}
.inlineform input {
  flex: 1;
  width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: white;
}
.modulegrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}
.modulegrid .panel {
  margin: 0;
}
.modulegrid p {
  margin: 12px 0;
}
.modulegrid .actions {
  flex-wrap: wrap;
}
.badge-number {
  font-size: 38px;
  font-weight: 700;
  letter-spacing: -1px;
  color: var(--blue);
}
.progressbar {
  height: 9px;
  background: #edf2fa;
  border-radius: 6px;
  overflow: hidden;
  margin: 12px 0;
}
.progressbar i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, #0057ff, #00bddf);
  border-radius: 6px;
}
.subnav {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 20px;
}
.subnav button {
  font-size: 11px;
}
.subnav button.active {
  background: #edf3ff;
  color: var(--blue);
  border-color: #bcd2ff;
}
.statusrow {
  display: flex;
  gap: 12px;
  align-items: center;
  margin: 10px 0;
}
.pagehint {
  font-size: 11px;
  color: #8e9aae;
  margin-top: 12px;
}
.pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 15px;
  font-size: 11px;
  color: #8a98ac;
}
.pagination button {
  font-size: 10px;
}
.note {
  border-left: 2px solid #bfd8ff;
  background: #f7faff;
  padding: 12px;
  margin-top: 10px;
  border-radius: 0 8px 8px 0;
  font-size: 12px;
  white-space: pre-wrap;
}
.note small {
  display: block;
  font-size: 10px;
  color: #8697ae;
  margin-bottom: 7px;
}
.appdate {
  font-size: 11px;
  color: #8d9aab;
}
.settingsgroup {
  margin-bottom: 25px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.settingsgroup h3 {
  color: #415976;
  font-size: 13px;
}
.qrcode {
  display: block;
  width: 250px;
  height: 250px;
  object-fit: contain;
  max-width: 100%;
  margin: 15px auto;
}
.public-card {
  max-width: 690px;
  margin: 6vh auto;
  background: white;
  padding: 35px;
  border: 1px solid var(--line);
  border-radius: 18px;
}
.public-card h1 {
  font-size: 29px;
}
.public-card .primary {
  margin-top: 20px;
}
.checkbox {
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
  line-height: 1.6;
}
.checkbox input {
  width: auto !important;
  margin: 3px 0 !important;
}
.public-header {
  max-width: 1100px;
  padding: 25px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.public-hero {
  max-width: 1000px;
  padding: 60px 25px 30px;
  margin: auto;
  text-align: center;
}
.public-hero h1 {
  font-size: 50px;
  letter-spacing: -2px;
  max-width: 730px;
  margin: 20px auto;
}
.public-hero p {
  font-size: 15px;
  max-width: 610px;
  margin: auto;
}
.public-hero .primary {
  margin: 25px 0;
}
.publicnews {
  max-width: 1000px;
  margin: 20px auto;
}
.mobilebar .active {
  color: var(--blue);
}
#offline {
  position: fixed;
  bottom: 85px;
  left: 15px;
  right: 15px;
  padding: 15px;
  background: #fff3d3;
  border: 1px solid #e7cc85;
  border-radius: 10px;
  z-index: 100;
  text-align: center;
  font-size: 12px;
}
.loading {
  padding: 70px;
  text-align: center;
  color: #8b98aa;
}
.noresult {
  padding: 35px;
  text-align: center;
  color: #90a0b5;
  font-size: 12px;
}
.sidebar .nav {
  padding: 9px 12px;
}
.sidebar {
  overflow-y: auto;
}
.sidebar .group {
  margin-top: 16px;
}
.sidebar .brand {
  margin-bottom: 10px;
  flex-shrink: 0;
}
.sidebar .workspace {
  margin-bottom: 5px;
}
.sidebar .bottom {
  padding-top: 16px;
}
.sidebar .company {
  padding: 10px;
}
.board.five {
  grid-template-columns: repeat(5, minmax(190px, 1fr));
  overflow-x: auto;
}
.board.five .column {
  min-height: 460px;
}
.card {
  user-select: none;
}
.actionlink {
  border: 0;
  background: none;
  color: var(--blue);
  padding: 0;
  font-size: 11px;
}
.fieldhint {
  font-size: 10px;
  color: #9aa6b6;
  line-height: 1.5;
}
.nav.sectiontoggle {
  justify-content: space-between;
}
.exports {
  display: flex;
  gap: 8px;
}
.calendaritem {
  border-left: 3px solid var(--blue);
  padding: 15px;
  background: #f7faff;
  border-radius: 9px;
  margin: 10px 0;
}
.helpdetails summary {
  cursor: pointer;
  padding: 14px 0;
  color: #416180;
  font-weight: 500;
}
.helpdetails p {
  padding-bottom: 16px;
}
.print-only {
  display: none;
}
@media (max-width: 1100px) {
  .modulegrid {
    grid-template-columns: 1fr 1fr;
  }
  .split {
    grid-template-columns: 250px 1fr;
  }
}
@media (max-width: 760px) {
  .login {
    grid-template-columns: 1fr;
  }
  .login-art {
    display: none;
  }
  .login-panel {
    padding: 28px;
    min-height: 100dvh;
  }
  .public-card {
    margin: 20px 15px;
    padding: 25px;
  }
  .public-hero {
    padding-top: 20px;
  }
  .public-hero h1 {
    font-size: 35px;
  }
  .modulegrid {
    grid-template-columns: 1fr;
  }
  .split {
    grid-template-columns: 1fr;
  }
  .conversation-list {
    max-height: 180px;
  }
  .formgrid {
    grid-template-columns: 1fr;
  }
  .formgrid .wide {
    grid-column: auto;
  }
  .panel {
    padding: 18px;
  }
  .content {
    padding-bottom: 110px;
  }
  .heading .primary {
    font-size: 0;
  }
  .toolbar {
    flex-wrap: wrap;
  }
  .toolbar .actions {
    width: 100%;
    overflow-x: auto;
  }
  .board.five {
    display: flex;
    overflow-x: auto;
  }
  .board.five .column {
    flex: 0 0 86%;
  }
  .subnav {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 5px;
  }
  .subnav button {
    white-space: nowrap;
  }
  .metrics {
    margin-bottom: 18px;
  }
  .public-header .loginlogo {
    width: 140px;
    margin: 0;
  }
  .public-header {
    padding: 15px;
  }
  .topbar .crumb {
    display: none;
  }
  .appdate {
    display: none;
  }
  .heading {
    gap: 8px;
  }
  .heading h1 {
    font-size: 23px;
  }
  .sidebar .brand {
    display: block;
  }
  .toast {
    bottom: 95px;
  }
}
@media print {
  body {
    background: #fff;
  }
  .sidebar,
  .topbar,
  .mobilebar,
  .heading .actions,
  .filters,
  .subnav,
  .exports,
  .nav,
  .toast {
    display: none !important;
  }
  .main {
    margin: 0 !important;
  }
  .content {
    padding: 0;
  }
  .panel {
    break-inside: avoid;
    box-shadow: none;
  }
  .print-only {
    display: block;
  }
  th,
  td {
    white-space: normal;
  }
  .tablewrap {
    overflow: visible;
  }
  .metrics {
    grid-template-columns: repeat(4, 1fr);
  }
  @page {
    size: A4;
    margin: 15mm;
  }
}

/* Primary action remains available when a page has a single header button. */
@media (max-width: 760px) {
  .heading #pageactions > button.primary:first-child {
    display: inline-flex;
  }
  .heading #pageactions > button:not(.primary) {
    font-size: 10px;
  }
  .heading #pageactions {
    flex-wrap: wrap;
    justify-content: flex-end;
    max-width: 130px;
  }
}

/* Connection center: only the two administrative roles receive this page. */
.wa-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(290px,.85fr); gap:20px; align-items:stretch; }
.wa-layout>.panel { min-width:0; }
.wa-panel-head { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; }
.wa-panel-head p { color:var(--muted); margin:0; }
.wa-status { display:inline-flex; border-radius:99px; padding:7px 12px; font-size:11px; font-weight:700; }
.wa-status.connected { color:#087b53; background:#dff8ec; }
.wa-status.connecting { color:#926314; background:#fff4d8; }
.wa-status.disconnected { color:#64748b; background:#edf0f4; }
.wa-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.wa-actions button:disabled { cursor:not-allowed; opacity:.5; }
.wa-danger { color:#bb3434; border-color:#f0d2d2; }
.wa-qr-panel { text-align:center; }
.wa-qr-box { display:grid; place-items:center; min-height:285px; padding:15px; background:#f7faff; border:1px dashed #cbdaf4; border-radius:14px; margin-top:16px; }
.wa-qr-box .qrcode { margin:0; width:250px; height:250px; background:white; border-radius:8px; }
.wa-placeholder, .wa-qr-ready { max-width:290px; color:#64748b; font-size:12px; line-height:1.8; }
.wa-qr-ready { font-weight:700; color:#087b53; }
.wa-instructions { text-align:left; font-size:12px; line-height:2; color:#52627c; }
@media(max-width:1050px) { .wa-layout { grid-template-columns:1fr; } }

/* 2026: categorized accordion navigation, resilient on compact screens */
.sidebar { gap:0; overflow-x:hidden; }
.sidebar .brand { width:170px; flex-shrink:0; }
.sidebar .menu-sections { flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; padding:3px 0 10px; scrollbar-width:thin; }
.sidebar .sidebar-footer { flex:0 0 auto; padding-top:10px; border-top:1px solid var(--line); }
.sidebar .nav-accordion { margin:5px 0; border-radius:11px; border:1px solid transparent; }
.sidebar .nav-accordion[open] { background:#f7faff; border-color:#eaf0fb; padding-bottom:5px; }
.sidebar .nav-accordion summary { cursor:pointer; user-select:none; padding:12px 10px; border-radius:9px; display:flex; align-items:center; gap:10px; list-style:none; font-size:10px; font-weight:750; letter-spacing:.08em; text-transform:uppercase; color:#65758b; }
.sidebar .nav-accordion summary::-webkit-details-marker { display:none; }
.sidebar .nav-accordion summary:hover, .sidebar .nav-accordion[open] summary { color:#1453b7; }
.sidebar .nav-accordion summary .i { width:17px; height:17px; flex-shrink:0; }
.sidebar .nav-accordion summary .i:last-child { margin-left:auto; width:14px; height:14px; transition:transform .18s ease; }
.sidebar .nav-accordion[open] summary .i:last-child { transform:rotate(90deg); }
.sidebar .nav-accordion-items { padding:3px 5px 2px; }
.sidebar .nav-accordion .nav { width:100%; min-width:0; min-height:38px; display:flex; justify-content:flex-start; align-items:center; gap:10px; padding:9px 9px; border-radius:8px; font-size:11px; text-align:left; line-height:1.45; white-space:normal; }
.sidebar .nav-accordion .nav .i { width:17px; height:17px; flex-shrink:0; }
.sidebar .nav-accordion .nav .nav-text { min-width:0; flex:1; overflow-wrap:anywhere; }
.sidebar .nav-accordion .nav.active { background:#e8f0ff; box-shadow:inset 3px 0 #0057ff; }
.sidebar .sidebar-footer .user { width:100%; font-size:11px; text-align:left; }
.sidebar .sidebar-footer .profile-label { display:block; min-width:0; overflow-wrap:anywhere; }
.sidebar .sidebar-footer .profile-label small { display:block; color:var(--muted); }
.sidebar .sidebar-footer .logout-nav { margin-top:3px; }
body.collapsed .sidebar .menu-title, body.collapsed .sidebar .nav-text, body.collapsed .sidebar .profile-label, body.collapsed .sidebar .nav-accordion summary .i:last-child { display:none; }
body.collapsed .sidebar .nav-accordion summary { justify-content:center; padding:12px 0; }
body.collapsed .sidebar .nav-accordion .nav { justify-content:center; padding:10px 0; }
body.collapsed .sidebar .nav-accordion .nav .i { width:19px; height:19px; }
body.collapsed .sidebar .sidebar-footer .user { justify-content:center; }
@media(max-width:1100px) { .sidebar .nav-accordion summary { font-size:9px; letter-spacing:.045em; } }
@media(max-width:760px) { body.collapsed .sidebar { width:265px; } body.collapsed .sidebar .menu-title, body.collapsed .sidebar .nav-text, body.collapsed .sidebar .profile-label { display:block; } body.collapsed .sidebar .nav-accordion summary .i:last-child { display:block; } body.collapsed .sidebar .nav-accordion summary,body.collapsed .sidebar .nav-accordion .nav { justify-content:flex-start; } }

/* Unified premium form design. Applied to all app pages and modals. */
#page form label:not(.checkbox), dialog form label:not(.checkbox), .login-box form label { display:flex; flex-direction:column; align-items:stretch; gap:8px; margin-top:13px; color:#35465e; font-size:12px; font-weight:650; line-height:1.45; min-width:0; }
#page form label:not(.checkbox) small, dialog form label:not(.checkbox) small { color:#8a98ac; font-size:11px; font-weight:450; }
#page input:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]),
#page select, #page textarea,
dialog input:not([type=file]):not([type=checkbox]):not([type=radio]):not([type=hidden]), dialog select, dialog textarea,
.login-box input:not([type=checkbox]):not([type=hidden]) {
  width:100%; max-width:100%; min-width:0; min-height:46px; margin-top:0; padding:12px 14px; color:#1c2d49; background:#fbfdff; border:1px solid #dce5f1; border-radius:11px; box-shadow:0 1px 2px #14213b08; font-size:13px; line-height:1.4; transition:background .18s,border-color .18s,box-shadow .18s;
}
#page textarea, dialog textarea { min-height:105px; resize:vertical; }
#page input:focus, #page textarea:focus, #page select:focus, dialog input:focus, dialog textarea:focus, dialog select:focus { outline:0; border-color:#4c8dff; box-shadow:0 0 0 4px #0057ff12; background:#fff; }
#page input[readonly] { background:#f2f6fc; color:#5a6b84; }
#page input::placeholder, #page textarea::placeholder,dialog input::placeholder { color:#a6b1c1; }
#page form.panel { display:flex; flex-direction:column; gap:14px; }
#page form.panel > label { margin-top:0; }
#page form.panel .formgrid { gap:8px 17px; }
#page .settingsgroup .formgrid { gap:9px 17px; }
#page .settingsgroup { margin-bottom:15px; }
#page form.panel > button, #page form.panel .actions > button { width:fit-content; min-height:43px; }
#page .panel { min-width:0; }
#page .panel h2 { line-height:1.35; }
#page .social-form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; }
#page .social-form-grid .panel { margin:0; }
#page .integration-card { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; border:1px solid #e0e9f7; background:#f9fbff; border-radius:14px; padding:20px; margin-bottom:18px; }
#page .integration-card p { max-width:600px; }
#page .integration-card .social-icon { width:45px; height:45px; display:grid; place-items:center; border-radius:13px; background:linear-gradient(145deg,#f27e64,#c2489a); color:white; font-size:23px; font-weight:800; }
#page .integration-info { display:flex; gap:14px; align-items:center; }
#page .integration-heading { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:7px; }
#page .integration-heading h2 { margin:0; }
#page .ig-status.connected { color:#0b805c; background:#e0f8ed; }
#page .ig-status.disconnected { color:#8a6577; background:#fff0f5; }
#page .ig-status { display:inline-flex; font-size:11px; padding:6px 11px; border-radius:99px; font-weight:700; }
#page .ig-actions { display:flex; flex-wrap:wrap; gap:10px; margin:16px 0; }
#page .ig-actions button { min-height:43px; }
#page .webhook-row { display:flex; gap:10px; align-items:center; margin:12px 0; }
#page .webhook-row input { flex:1; }
#page .form-note { color:#6a7d95; font-size:11px; }
#page .subtle-section { border:1px solid #e7edf7; border-radius:12px; padding:14px; margin-top:16px; }
#page .subtle-section summary { cursor:pointer; font-size:12px; font-weight:700; color:#345070; }
#page .social-toolbar { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:18px; }
#page .social-toolbar button { min-height:42px; }

/* Accessible file-selection dropzone, shared by all file uploads. */
.upload-field { position:relative; }
.upload-field > input.upload-native { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; opacity:0!important; padding:0!important; margin:0!important; pointer-events:none!important; }
.upload-surface { display:flex; gap:13px; min-height:105px; align-items:center; padding:19px; border:1.5px dashed #9fbce8; background:linear-gradient(145deg,#f5f9ff,#fff); border-radius:15px; color:#315e9c; cursor:pointer; transition:border-color .2s,background .2s,transform .2s; }
.upload-surface:hover, .upload-surface.dragging, .upload-field:focus-within .upload-surface { border-color:#0057ff; background:#edf5ff; }
.upload-field:focus-within .upload-surface { box-shadow:0 0 0 4px #0057ff14; }
.upload-symbol { display:grid; place-items:center; width:43px; height:43px; border-radius:12px; flex-shrink:0; background:#dfeeff; color:#0057ff; }
.upload-copy { min-width:0; display:flex; flex-direction:column; gap:6px; }
.upload-copy strong { font-size:12px; font-weight:750; color:#23466d; }
.upload-copy small { font-size:11px; color:#748ca9; }
.upload-file-name { display:block; overflow-wrap:anywhere; max-width:250px; font-size:11px; font-weight:650; color:#0057ff; margin-left:auto; }
.upload-surface.selected { border-style:solid; border-color:#75a4f1; }
.upload-preview { max-width:76px; max-height:65px; border-radius:10px; object-fit:cover; flex-shrink:0; }
@media (max-width:760px) { #page .social-form-grid { grid-template-columns:1fr; } #page .webhook-row { flex-direction:column; align-items:stretch; } .upload-surface { flex-wrap:wrap; } .upload-file-name { margin-left:0; flex:1 0 100%; } }
/* Keep embedded search bars and compact filters aligned after global field styling. */
#page .search input { border:0!important; background:transparent!important; box-shadow:none!important; padding:10px 0!important; min-height:0!important; }
#page .filters select { width:auto; min-height:42px; }
#page .settingsgroup h3 { margin:5px 0 10px; padding-bottom:10px; border-bottom:1px solid #e7edf6; color:#2a466c; font-size:14px; }
#page form.panel > button.primary { margin-top:5px; }

/* Gabinete+ v1.6 · navegação visível, acentos da paleta institucional. */
.sidebar .menu-sections {scrollbar-width:thin;scrollbar-color:#91b5eb transparent;}
.sidebar .nav-category {--nav-color:#0057ff;--nav-bg:#ebf3ff;margin:8px 0 13px;padding:0 3px 9px;border-bottom:1px solid #ecf1f7;}
.sidebar .nav-category.category-operation {--nav-color:#0057ff;--nav-bg:#ebf3ff;}
.sidebar .nav-category.category-management {--nav-color:#0899bc;--nav-bg:#e7f8ff;}
.sidebar .nav-category.category-integrations {--nav-color:#008b87;--nav-bg:#e5f7f6;}
.sidebar .nav-category.category-administration {--nav-color:#415c83;--nav-bg:#edf2f9;}
.sidebar .nav-category-title {display:flex;gap:9px;align-items:center;margin:5px 1px 7px;padding:9px 10px;border-radius:10px;background:var(--nav-bg);color:var(--nav-color);font-size:10px;font-weight:800;letter-spacing:.065em;text-transform:uppercase;line-height:1.35;}
.sidebar .nav-category-title .i {width:17px;height:17px;flex-shrink:0;}
.sidebar .nav-category-items {display:grid;gap:2px;}
.sidebar .nav-category .nav {display:flex;width:100%;align-items:center;justify-content:flex-start;gap:9px;min-height:40px;text-align:left;font-size:11px;padding:9px 10px;line-height:1.4;border-radius:8px;white-space:normal;}
.sidebar .nav-category .nav .i {width:17px;height:17px;flex-shrink:0;}
.sidebar .nav-category .nav .nav-text {min-width:0;flex:1;overflow-wrap:normal;word-break:normal;}
.sidebar .nav-category .nav:hover {color:var(--nav-color);background:var(--nav-bg);}
.sidebar .nav-category .nav.active {background:var(--nav-bg);color:var(--nav-color);box-shadow:inset 3px 0 var(--nav-color);}
body.collapsed .sidebar .nav-category-title .menu-title,body.collapsed .sidebar .nav-category .nav-text {display:none;}
body.collapsed .sidebar .nav-category-title,body.collapsed .sidebar .nav-category .nav {justify-content:center;padding-left:0;padding-right:0;}
@media(max-width:760px){body.collapsed .sidebar .nav-category-title .menu-title,body.collapsed .sidebar .nav-category .nav-text{display:block}body.collapsed .sidebar .nav-category-title,body.collapsed .sidebar .nav-category .nav {justify-content:flex-start;padding-left:10px;padding-right:10px}}
/* Thin institutional scrollbar across the application. */
html,body,.sidebar,.sidebar .menu-sections,#page,.tablewrap,dialog,textarea {scrollbar-width:thin;scrollbar-color:#8db5eb transparent;}
::-webkit-scrollbar {width:6px;height:6px;}
::-webkit-scrollbar-track {background:transparent;}
::-webkit-scrollbar-thumb {background:#9cbde8;border-radius:20px;border:1px solid transparent;}
::-webkit-scrollbar-thumb:hover {background:#0057ff;}
/* Password reveal + live rules */
.password-shell {display:block;position:relative;width:100%;}
.password-shell input {display:block;width:100%;padding-right:78px!important;}
.password-eye {position:absolute;right:7px;top:50%;transform:translateY(-50%);padding:7px 9px;border:0;background:transparent;color:#315f9d;font-size:11px;font-weight:700;min-height:30px;z-index:1;}
.password-eye:hover {background:#edf4ff;}
.password-meter {margin:8px 0 12px;}
.password-meter-bar {height:5px;background:#e8eef6;border-radius:9px;overflow:hidden;}
.password-meter-bar i {display:block;height:100%;width:0;background:#4486ed;border-radius:9px;transition:width .2s ease;}
.password-meter.complete .password-meter-bar i {background:#12866e;}
.password-rules {list-style:none;padding:0;margin:9px 0 0;display:flex;gap:7px 14px;flex-wrap:wrap;}
.password-rules li {display:inline-flex;gap:5px;align-items:center;font-size:10px;font-weight:550;color:#71849c;}
.password-rules li span {font-weight:800;font-size:12px;}
.password-rules li.met {color:#0f8469;}
/* Invitation forms and shared controls */
.remember-control {display:flex!important;align-items:center;gap:9px;margin:14px 0;color:#425772;font-size:11px;font-weight:550;line-height:1.45;}
.remember-control input {width:16px!important;min-width:16px!important;height:16px!important;min-height:16px!important;margin:0!important;accent-color:#0057ff;}
.invite-public {min-height:100vh;padding:36px 18px;display:grid;place-items:center;background:radial-gradient(circle at 20% 0%,#e4f3ff 0%,#f7f9fc 45%,#f9fcff 100%);}
.invite-card {width:min(100%,760px);padding:clamp(25px,4vw,45px);border-radius:23px;border:1px solid #e0e9f4;background:white;box-shadow:0 22px 68px #24446c1b;}
.invite-card .loginlogo {max-width:180px;object-fit:contain;}
.invite-card h1 {font-size:clamp(23px,3vw,31px);letter-spacing:-.04em;}
.invite-card p {color:#61758f;line-height:1.7;}
.invite-card label {display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#425875;}
.invite-card input,dialog #inviteurl,dialog #invitemessage {width:100%;max-width:100%;border-radius:11px;border:1px solid #d8e3f2;background:#fbfdff;padding:13px 14px;color:#1c2d49;min-height:46px;}
.invite-card input:focus,dialog #inviteurl:focus {outline:0;border-color:#0057ff;box-shadow:0 0 0 3px #0057ff20;}
.invite-card .formgrid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;}
.invite-card .formgrid .wide {grid-column:1 / -1;}
.invite-card .primary {margin-top:16px;}
.invite-login-link,.share-wa {text-decoration:none;}
.success-box {background:#edfaf6;color:#14775e;border:1px solid #c5e8dc;}
dialog #invitemessage {resize:vertical;min-height:200px;white-space:pre-wrap;line-height:1.55;margin:8px 0;}
dialog #inviteurl {margin:8px 0 16px;}
dialog label:has(#inviteurl),dialog label:has(#invitemessage) {display:block;font-size:12px;font-weight:700;color:#415773;}
.responsible-list {display:flex;flex-direction:column;gap:7px;margin:15px 0;padding:13px;border:1px solid #e3ebf6;background:#f8fbff;border-radius:11px;color:#59708d;font-size:11px;}
.responsible-list strong {color:#315078;}
.deadline-bell {position:relative;}
.deadline-count {position:absolute;right:-7px;top:-5px;display:grid;place-items:center;min-width:18px;height:18px;padding:2px 4px;border-radius:99px;background:#098e9c;color:white;font-weight:800;font-size:9px;line-height:1;}
.deadline-count.urgent {background:#ca5263;}
.deadline-count[hidden] {display:none;}
.deadline-summary {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:17px;}
.deadline-box {display:flex;align-items:center;gap:18px;padding:20px;border-radius:14px;background:white;border:1px solid #e3eaf5;}
.deadline-box strong {font-size:30px;line-height:1;font-weight:800;}
.deadline-box span {color:#65758e;font-size:12px;font-weight:650;}
.deadline-box.overdue strong {color:#c44c60;}.deadline-box.soon strong {color:#ba7919;}
.deadline-list {display:flex;flex-direction:column;gap:7px;}
.deadline-line {display:flex;align-items:center;gap:12px;padding:13px 5px;border-bottom:1px solid #edf1f7;}
.deadline-line>div {min-width:0;flex:1;}
.deadline-line strong {font-size:12px;display:block;overflow-wrap:anywhere;}
.deadline-line small {display:block;color:#8290a4;margin-top:5px;}
.deadline-dot {height:10px;width:10px;flex-shrink:0;border-radius:50%;background:#d59a37;}
.deadline-dot.overdue {background:#d65c6b;}
.help-hero {padding:24px 26px;background:linear-gradient(115deg,#eaf4ff,#f8fcff);border:1px solid #dfeafa;border-radius:15px;margin-bottom:15px;}
.help-hero h2 {margin:6px 0;font-size:22px;}
.help-hero p {color:#506580;line-height:1.7;}
@media(max-width:640px){.invite-card .formgrid,.deadline-summary {grid-template-columns:1fr;}.invite-card{padding:25px 18px}.deadline-line{flex-wrap:wrap}.deadline-line button{margin-left:22px}.sidebar .nav-category-title{font-size:10px}}
/* Final invitation sharing polish. */
dialog #invitemessage {font-weight:450;font-size:12px;color:#304967;}
dialog .share-wa {display:inline-flex;align-items:center;justify-content:center;border-radius:9px;min-height:40px;padding:10px 15px;background:#098a8a;border:1px solid #098a8a;color:#fff!important;text-decoration:none!important;font-size:12px;font-weight:700;}
dialog .share-wa:hover {background:#087575;border-color:#087575;}
.login-mode-switch {display:inline-flex;margin:3px 0 0!important;font-size:11px;color:#0057ff!important;text-align:left!important;}

/* v1.7 · invitation visibility, protected staff actions, visual password toggle */
#pageactions .invite-action {background:#f0faff;color:#0067a9;border-color:#bbdff8;font-weight:700;}
#pageactions .invite-action:hover {background:#e3f4ff;border-color:#74c2f4;}
.admin-count {display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;margin:0 0 16px;border:1px solid #d9e7fa;border-radius:11px;background:#f2f7ff;color:#315374;font-size:12px;}
.admin-count svg {color:#0057ff;width:18px;height:18px;}
.admin-count strong {color:#0057ff;font-size:14px;}
.admin-count span {color:#6985a2;}
.user-row-actions {display:flex;align-items:center;gap:7px;flex-wrap:wrap;min-width:200px;}
.user-row-actions button {font-size:11px;padding:8px 10px;white-space:nowrap;}
.user-row-actions .destructive {border-color:#f1c9ce;background:#fff8f8;color:#b63849;}
.user-row-actions .destructive:hover {background:#ffebed;border-color:#e59ca8;}
.user-locked {display:inline-flex;padding:5px 9px;border-radius:8px;background:#fff2e7;color:#9b561a;font-weight:700;font-size:11px;}
.password-shell input {padding-right:50px!important;}
.password-eye {display:inline-flex;align-items:center;justify-content:center;right:8px;top:50%;transform:translateY(-50%);border-radius:9px;width:36px;height:36px;min-height:36px;padding:7px;color:#56759a;transition:background .15s,color .15s;}
.password-eye svg {width:20px;height:20px;flex:none;}
.password-eye:focus-visible {outline:2px solid #0057ff;outline-offset:1px;}
.password-eye:hover {background:#eaf3ff;color:#0057ff;}
@media(max-width:600px){#pageactions {flex-wrap:wrap;}#pageactions .invite-action {flex:1;} .user-row-actions{min-width:0;} .user-row-actions button{flex:1;}}


/* v1.7.1 · fix password eye alignment inside input */
.password-shell{position:relative;display:block;width:100%;}
.password-shell input{width:100%;padding-right:56px!important;}
.password-shell .password-eye,
button.password-eye{
  position:absolute!important;
  top:50%!important;
  right:10px!important;
  left:auto!important;
  bottom:auto!important;
  transform:translateY(-50%)!important;
  margin:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:34px!important;
  height:34px!important;
  min-height:34px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:1!important;
  z-index:3;
}
.password-shell .password-eye svg,
button.password-eye svg{width:20px;height:20px;display:block;pointer-events:none;}
.password-shell .password-eye:hover,
button.password-eye:hover{background:#eef5ff!important;color:#0057ff!important;border-radius:8px;}
.password-shell .password-eye:focus-visible,
button.password-eye:focus-visible{outline:2px solid #80b7ff;outline-offset:1px;border-radius:8px;}

/* Gabinete+ v1.8: login e recuperação refinados */
.login-refined{display:grid;grid-template-columns:minmax(360px,1fr) minmax(480px,1fr);min-height:100dvh;background:#fff}
.login-refined .login-art{position:relative;overflow:hidden;min-width:0;padding:clamp(48px,8vw,110px);background:radial-gradient(circle at 65% 80%,#00d4ff38,transparent 40%),linear-gradient(145deg,#081c44,#0648ab 90%);color:#fff}
.login-refined .login-art::before{content:"";position:absolute;right:-180px;bottom:-200px;width:520px;height:520px;border:65px solid #00cfff13;border-radius:50%;pointer-events:none}
.login-refined .login-art-inner{position:relative;z-index:1;max-width:570px}
.login-refined .login-art .login-eyebrow{color:#81ddfc;letter-spacing:.16em;font-weight:800;font-size:11px}
.login-refined .login-art h1{font-size:clamp(44px,4.2vw,65px);letter-spacing:-.06em;line-height:1.12;margin:28px 0 22px}
.login-refined .login-art h1 em{font-style:normal;color:#88ebff}
.login-refined .login-art p{font-size:16px;line-height:1.9;color:#c1d8f6;max-width:485px}
.login-visual{display:flex;gap:10px;flex-wrap:wrap;margin-top:45px}.login-visual span{display:inline-flex;gap:10px;align-items:center;border:1px solid #80a7e15c;border-radius:12px;padding:12px;color:#8ddffc;font-size:12px}.login-visual b{color:#e1f4ff;font-weight:650}
.login-art-footer{position:absolute;bottom:35px;left:clamp(48px,8vw,110px);right:clamp(48px,8vw,110px);font-size:12px;color:#91b3e5;display:flex;justify-content:space-between}
.login-refined .login-panel{padding:65px 28px;background:radial-gradient(circle at 90% 0%,#f1f8ff,transparent 40%),#fff}
.login-refined .login-box{max-width:470px;width:100%;border:1px solid #e8eef7;border-radius:25px;padding:41px 42px;box-shadow:0 22px 70px #1d3b650f;background:#fff}
.login-refined .login-brand{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:26px}
.login-refined .loginlogo{width:176px;height:64px;margin-bottom:0}
.login-brand span{font-size:9px;letter-spacing:.13em;color:#6f94c0;font-weight:800;background:#eef5ff;border-radius:7px;padding:7px}
.login-refined .login-box h2{font-size:28px;line-height:1.25;letter-spacing:-.04em;margin:0 0 8px;color:#102544}
.login-refined .login-box>p{font-size:13px;line-height:1.7;color:#7d8da4;margin-bottom:23px}
.login-refined .login-box form label:not(.remember-control){font-size:12px;color:#334862;font-weight:700;margin-top:17px}
.login-refined .login-box form input:not([type=checkbox]){min-height:53px;background:#fbfdff;border:1px solid #d9e6f5;border-radius:12px;padding:14px 16px;font-size:14px;color:#172c4c}
.login-refined .login-box form input:not([type=checkbox]):focus{outline:0;background:#fff;border-color:#6aa4ff;box-shadow:0 0 0 4px #0057ff12}
.login-refined .login-box form .password-shell input{padding-right:58px!important}
.login-refined .login-box form label.remember-control{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;width:100%;margin:20px 0 5px!important;color:#435a76;font-size:12px!important;line-height:1.4;font-weight:550!important;white-space:normal}
.login-refined .login-box form label.remember-control>input[type=checkbox]{display:block!important;flex:0 0 17px!important;width:17px!important;height:17px!important;min-height:17px!important;margin:0!important;accent-color:#0057ff;cursor:pointer}
.login-refined .login-box form label.remember-control>span{display:inline!important;flex:1!important;margin:0!important}
.login-refined .login-box .login-mode-switch{display:block;width:auto!important;margin:8px 0 0 auto!important;padding:0;border:0;min-height:0!important;background:none;box-shadow:none;color:#0057ff;font-size:11px!important;text-align:right}
.login-refined .login-box .login-submit{margin-top:22px;min-height:52px;display:flex;justify-content:space-between;padding:13px 20px;font-size:13px;border-radius:11px;box-shadow:0 10px 20px #0057ff20}
.login-refined .login-switch{width:100%;margin:18px 0 0;font-size:12px!important;color:#0057ff!important;padding:9px 0!important;min-height:0!important}
.login-divider{height:1px;background:#edf0f6;margin:24px 0 20px}.login-site-link{display:flex;align-items:center;justify-content:center;gap:8px;color:#315577;font-size:12px;font-weight:650}.login-site-link:hover{color:#0057ff}.login-privacy{text-align:center;margin:27px 0 0!important;font-size:10px!important;color:#9cabbb!important}
.login-success{color:#116e55;background:#e9f9f2;border:1px solid #bcebd6;border-radius:10px;padding:13px 14px;font-size:12px;line-height:1.6;margin:15px 0}
.login-success[hidden]{display:none!important}.reset-page{min-height:100dvh;background:radial-gradient(circle at 12% 15%,#daefff,transparent 35%),#f7faff;display:grid;place-items:center;padding:28px}.reset-card{width:min(100%,475px);padding:42px;background:#fff;border-radius:22px;border:1px solid #e2eafa;box-shadow:0 24px 65px #143d720c}.reset-card .loginlogo{margin:0 0 20px}.reset-card h1{font-size:28px;letter-spacing:-.04em}.reset-card p{line-height:1.7;font-size:13px}.reset-card label{display:block;font-weight:700;font-size:12px;margin-top:22px}.reset-card input{display:block;border:1px solid #dfe8f3;border-radius:10px;width:100%;padding:14px 15px;margin-top:10px}.reset-card .password-shell{margin-top:0}.reset-card .password-shell input{padding-right:56px!important}.reset-card form>button{width:100%;margin-top:16px}.reset-back{display:inline-block;margin-top:26px;color:#0057ff;font-size:12px}.reset-card .password-rules{font-size:11px}.smtp-test-panel #smtpTestFeedback{margin:12px 0 0;color:#416d9e;font-size:12px}
@media(max-width:1050px){.login-refined{grid-template-columns:.85fr 1.15fr}.login-refined .login-art{padding:50px}.login-art-footer{left:50px;right:50px}.login-refined .login-panel{padding:30px}.login-refined .login-box{padding:32px 25px}}
@media(max-width:820px){.login-refined{grid-template-columns:1fr}.login-refined .login-art{display:none}.login-refined .login-panel{padding:36px 20px;min-height:100dvh}.login-refined .login-box{max-width:480px;padding:32px 27px}}
@media(max-width:480px){.login-refined .login-panel{padding:17px 13px}.login-refined .login-box{padding:30px 22px;box-shadow:none;border-color:#edf1f7}.login-refined .login-box h2{font-size:24px}.login-refined .login-brand span{font-size:8px}.login-refined .loginlogo{width:157px}.reset-card{padding:25px 20px}}
