﻿/* =========================================================
   Menegate HelpDesk â€¢ APP.CSS (UI) â€” CLEAN / PREMIUM (PATCHED)
   - MantÃ©m APENAS a versÃ£o final (patch) onde havia duplicado
   - Consome tokens do theme.css (cores/shadows/ring/max)
   - Layout FULL WIDTH padrÃ£o
   - Sidebar premium (desktop fixo / mobile overlay)
   ========================================================= */

/* =========================
   TOKENS / HELPERS (somente UI)
   ========================= */
:root{
  --ease: cubic-bezier(.2,.8,.2,1);
  --t: 180ms var(--ease);
  --t2: 260ms var(--ease);

  --glass: linear-gradient(135deg, var(--surface), var(--surface2));
  --shine:
    radial-gradient(360px 220px at 18% 0%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(260px 220px at 110% 30%, rgb(var(--accent-rgb)/.12), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.18), transparent 55%);

  /* Controles */
  --control-h: 36px;
  --control-h-sm: 30px;
  --control-h-lg: 42px;

  --btn-px: 12px;
  --btn-py: 7px;

  --btn-px-sm: 10px;
  --btn-py-sm: 6px;

  --btn-px-lg: 14px;
  --btn-py-lg: 9px;

  /* Button system */
  --btn-bg: linear-gradient(180deg, rgb(255 255 255 / .90), rgb(244 251 247 / .80));
  --btn-bg-hover: linear-gradient(180deg, rgb(255 255 255 / .96), rgb(236 248 241 / .86));
  --btn-border: rgb(var(--accent-rgb) / .22);
  --btn-shadow: 0 6px 18px rgb(15 23 42 / .08), 0 1px 0 rgb(255 255 255 / .78) inset;
  --btn-shadow-hover: 0 10px 24px rgb(var(--accent-rgb) / .16), 0 1px 0 rgb(255 255 255 / .88) inset;

  --btn-primary-bg: linear-gradient(135deg, rgb(var(--accent-rgb) / .96), rgb(var(--accent2-rgb) / .90));
  --btn-primary-bg-hover: linear-gradient(135deg, rgb(var(--accent-rgb) / 1), rgb(var(--accent2-rgb) / .95));
  --btn-primary-border: rgb(var(--accent-rgb) / .74);
  --btn-primary-shadow: 0 10px 26px rgb(var(--accent-rgb) / .24), 0 1px 0 rgb(255 255 255 / .22) inset;

  --btn-ghost-bg: linear-gradient(180deg, rgb(var(--accent-rgb) / .09), rgb(var(--accent2-rgb) / .04));
  --btn-ghost-bg-hover: linear-gradient(180deg, rgb(var(--accent-rgb) / .15), rgb(var(--accent2-rgb) / .08));
  --btn-ghost-border: rgb(var(--accent-rgb) / .30);

  --btn-danger-bg: linear-gradient(135deg, rgb(248 113 113 / .96), rgb(239 68 68 / .90));
  --btn-danger-bg-hover: linear-gradient(135deg, rgb(252 165 165 / .98), rgb(248 113 113 / .92));
  --btn-danger-border: rgb(239 68 68 / .72);
  --btn-danger-shadow: 0 10px 24px rgb(220 38 38 / .24), 0 1px 0 rgb(255 255 255 / .16) inset;

  /* Layout */
  --topbar-h: 64px;
  --sidebar-w: 248px;
  --sidebar-w-collapsed: 72px;
  --main-side-pad: 12px;

  /* Radius UI */
  --r-card: 6px;
  --r-chip: 8px;
  --r-ic: 8px;
  --r-modal: 6px;
  --r-input: 4px;
}

html[data-theme="dark"]{
  --btn-bg: linear-gradient(180deg, rgb(51 65 85 / .86), rgb(30 41 59 / .78));
  --btn-bg-hover: linear-gradient(180deg, rgb(71 85 105 / .90), rgb(51 65 85 / .82));
  --btn-border: rgb(148 163 184 / .36);
  --btn-shadow: 0 8px 20px rgb(2 6 23 / .40), 0 1px 0 rgb(255 255 255 / .06) inset;
  --btn-shadow-hover: 0 12px 30px rgb(var(--accent-rgb) / .24), 0 1px 0 rgb(255 255 255 / .08) inset;

  --btn-primary-bg: linear-gradient(135deg, rgb(var(--accent-rgb) / .92), rgb(var(--accent2-rgb) / .86));
  --btn-primary-bg-hover: linear-gradient(135deg, rgb(var(--accent-rgb) / .98), rgb(var(--accent2-rgb) / .92));
  --btn-primary-border: rgb(var(--accent-rgb) / .78);
  --btn-primary-shadow: 0 12px 30px rgb(var(--accent-rgb) / .28), 0 1px 0 rgb(255 255 255 / .12) inset;

  --btn-ghost-bg: linear-gradient(180deg, rgb(30 41 59 / .74), rgb(15 23 42 / .62));
  --btn-ghost-bg-hover: linear-gradient(180deg, rgb(51 65 85 / .86), rgb(30 41 59 / .74));
  --btn-ghost-border: rgb(148 163 184 / .38);

  --btn-danger-bg: linear-gradient(135deg, rgb(239 68 68 / .90), rgb(220 38 38 / .84));
  --btn-danger-bg-hover: linear-gradient(135deg, rgb(248 113 113 / .94), rgb(239 68 68 / .88));
  --btn-danger-border: rgb(248 113 113 / .76);
  --btn-danger-shadow: 0 12px 28px rgb(220 38 38 / .30), 0 1px 0 rgb(255 255 255 / .08) inset;
}

@media (max-width: 1200px){
  :root{
    --sidebar-w: 228px;
  }
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
button, input, select, textarea{ font: inherit; }

.muted{ color: var(--muted); }
.glass{
  background: var(--glass);
  border: 1px solid var(--stroke);
  box-shadow: var(--shadow2);
  backdrop-filter: blur(14px);
}

/* Scrollbar */
*::-webkit-scrollbar{ width:10px; height:10px; }
*::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, rgb(var(--accent-rgb)/.35), rgb(var(--accent2-rgb)/.25));
  border-radius: 999px;
  border: 2px solid rgba(0,0,0,0);
  background-clip: padding-box;
}
*::-webkit-scrollbar-track{ background: rgba(0,0,0,0); }

/* =========================
   BG helpers (opcional)
   ========================= */
.bg{ position:fixed; inset:0; pointer-events:none; z-index:-1; }
.bg-grad{
  position:absolute; inset:-20%;
  background:
    radial-gradient(980px 560px at 12% 18%, rgb(var(--accent2-rgb)/.18), transparent 62%),
    radial-gradient(980px 560px at 88% 18%, rgb(var(--accent-rgb)/.16), transparent 62%),
    radial-gradient(980px 680px at 70% 88%, rgb(var(--accent2-rgb)/.14), transparent 65%);
  filter: blur(14px);
}
.bg-noise{
  position:absolute; inset:0;
  opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");
}

/* Login background: sem grade, logo grande desfocada */
body.is-login{
  background:
    radial-gradient(1200px 700px at 50% 50%, rgb(var(--accent-rgb) / .07), transparent 72%),
    linear-gradient(180deg, color-mix(in srgb, var(--bg) 94%, #ffffff), color-mix(in srgb, var(--bg2) 95%, #ffffff));
}
html[data-theme="dark"] body.is-login{
  background:
    radial-gradient(1200px 700px at 50% 50%, rgb(var(--accent-rgb) / .16), transparent 74%),
    linear-gradient(180deg, rgb(8 14 26), rgb(7 12 22));
}
.bg.bg--login{
  position: fixed;
  inset: 0;
  z-index: -1;
}
.bg--login .bg-login-logo{
  position: absolute;
  inset: -8%;
  background: url("../img/logo-recorte.png") center/62vmin no-repeat;
  filter: blur(20px);
  opacity: .18;
  transform: scale(1.14);
}
html[data-theme="dark"] .bg--login .bg-login-logo{
  opacity: .22;
}

/* =========================
   TOPBAR
   ========================= */
.topbar{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 400;

  min-height: var(--topbar-h);
  display:flex;
  align-items:center;
  gap:10px;

  padding: 8px 12px;

  background: linear-gradient(180deg, rgb(255 255 255 / .70), rgb(255 255 255 / .22));
  border-bottom: 1px solid var(--stroke);
  backdrop-filter: blur(14px);
}
html[data-theme="dark"] .topbar{
  background: linear-gradient(180deg, rgb(15 23 42 / .34), rgb(15 23 42 / .10));
}

.brand{ display:flex; align-items:center; gap:8px; min-width: 210px; }
.brand .dot{
  width:10px; height:10px; border-radius:999px;
  background: var(--accent);
  box-shadow: 0 0 0 6px rgb(var(--accent-rgb)/.18), 0 0 22px rgb(var(--accent2-rgb)/.18);
}
.brand-txt{ display:flex; flex-direction:column; line-height:1.1; }

.topbar-center{ flex:1; display:flex; justify-content:center; }
.search{ width:min(760px, 100%); display:flex; }
.search input{
  width:100%;
  min-height: var(--control-h);
  padding: 7px 10px;
  border-radius: var(--r-input);
  border: 1px solid var(--stroke);
  background: var(--surface);
  outline:none;
  transition: box-shadow var(--t), border-color var(--t), transform var(--t);
}
.search input:focus{ box-shadow: var(--ring); }

.topbar-right{ display:flex; align-items:center; gap:10px; }

/* =========================
   BUTTONS / CHIPS / ICON BUTTON
   ========================= */
.icon-btn,
.chip,
.btn{
  position:relative;
  isolation:isolate;
  overflow:hidden;

  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;

  border-radius: var(--r-chip);
  border: 1px solid var(--btn-border);
  background: var(--btn-bg);
  color: var(--text);
  text-decoration:none;
  cursor:pointer;

  min-height: var(--control-h);
  padding: var(--btn-py) var(--btn-px);
  font-size: .95rem;
  font-weight: 800;
  letter-spacing: .01em;
  line-height: 1;
  white-space: nowrap;

  transition: transform var(--t), box-shadow var(--t), border-color var(--t), background var(--t), color var(--t), opacity var(--t);
  box-shadow: var(--btn-shadow);
}

.icon-btn{
  width: var(--control-h);
  height: var(--control-h);
  min-height: var(--control-h);
  padding: 0;
  border-radius: var(--r-ic);
}

.icon-btn::before,
.chip::before,
.btn::before{
  content:"";
  position:absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(255 255 255 / .44), transparent 62%);
  opacity: .75;
  z-index:-1;
  pointer-events:none;
}
.icon-btn::after,
.chip::after,
.btn::after{
  content:"";
  position:absolute;
  top: -40%;
  left: -36%;
  width: 56%;
  height: 180%;
  background: linear-gradient(90deg, transparent, rgb(255 255 255 / .38), transparent);
  transform: rotate(16deg) translateX(-130%);
  opacity: 0;
  z-index:-1;
  pointer-events:none;
  transition: transform var(--t2), opacity var(--t2);
}

.icon-btn:hover,
.chip:hover,
.btn:hover{
  transform: translateY(-1px);
  border-color: rgb(var(--accent-rgb) / .42);
  background: var(--btn-bg-hover);
  box-shadow: var(--btn-shadow-hover);
}
.icon-btn:focus-visible,
.chip:focus-visible,
.btn:focus-visible{
  outline: none;
  border-color: rgb(var(--accent-rgb) / .58);
  box-shadow: var(--ring), var(--btn-shadow-hover);
}
.btn.is-on{
  border-color: rgb(var(--accent-rgb) / .52);
  box-shadow: 0 0 0 3px rgb(var(--accent-rgb) / .16), var(--btn-shadow-hover);
}
.icon-btn:hover::after,
.chip:hover::after,
.btn:hover::after{
  opacity:.22;
  transform: rotate(16deg) translateX(235%);
}
.icon-btn:active,
.chip:active,
.btn:active{ transform: translateY(0) scale(.99); }

.icon-btn svg{ width:20px; height:20px; }
.btn svg, .chip svg{ width:18px; height:18px; opacity:.92; }

.btn.primary, .chip.primary{
  color:#f8fffb;
  border-color: var(--btn-primary-border);
  background: var(--btn-primary-bg);
  box-shadow: var(--btn-primary-shadow);
  text-shadow: 0 1px 0 rgba(0,0,0,.16);
}
.btn.primary::before, .chip.primary::before{ opacity:.45; }
.btn.primary:hover, .chip.primary:hover{
  border-color: rgb(var(--accent-rgb) / .90);
  background: var(--btn-primary-bg-hover);
  box-shadow: 0 14px 30px rgb(var(--accent-rgb) / .28), 0 1px 0 rgb(255 255 255 / .24) inset;
}

/* CTA: Novo chamado */
.btn.btn-new-ticket{
  color:#ecfdf5;
  border-color: rgb(16 185 129 / .52);
  background: linear-gradient(135deg, rgb(20 184 166 / .74), rgb(22 163 74 / .76));
  box-shadow: 0 14px 36px rgb(16 185 129 / .20), 0 0 0 1px rgb(16 185 129 / .14) inset;
  text-shadow: 0 1px 0 rgba(0,0,0,.14);
  padding-right: 62px;
}
.btn.btn-new-ticket::before{ opacity:.26; }
.btn.btn-new-ticket::after{
  opacity:.18;
  animation: mhdShineSoft 4.4s cubic-bezier(.22,.61,.36,1) infinite;
  transition: none;
}
.btn-new-ticket__dots{
  position:absolute;
  right:14px;
  top:50%;
  width:22px;
  height:22px;
  transform: translateY(-50%);
  pointer-events:none;
  border-radius:50%;
  background: radial-gradient(circle at 50% 50%, rgba(236,253,245,.96) 0 2px, rgba(236,253,245,0) 3px);
  box-shadow:
    0 0 0 1px rgba(236,253,245,.28) inset,
    0 0 12px rgba(52,211,153,.24);
}
.btn-new-ticket__dots::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:50%;
  border: 2px solid transparent;
  border-top-color: rgba(236,253,245,.86);
  border-right-color: rgba(167,243,208,.42);
  animation: mhdTicketOrbit 2.1s cubic-bezier(.4,0,.2,1) infinite;
}
.btn-new-ticket__dots::after{
  content:"";
  position:absolute;
  inset:-6px;
  border-radius:50%;
  border: 1px solid rgba(236,253,245,.28);
  opacity: 0;
}
.btn.btn-new-ticket:hover .btn-new-ticket__dots::before{
  animation-duration: 1.35s;
}
.btn.btn-new-ticket:hover .btn-new-ticket__dots::after{
  animation: mhdTicketPulseSoft 1.8s ease-out infinite;
}
@keyframes mhdTicketOrbit{
  0%{ transform: rotate(0deg) scale(.96); }
  50%{ transform: rotate(180deg) scale(1); }
  100%{ transform: rotate(360deg) scale(.96); }
}
@keyframes mhdTicketPulseSoft{
  0%{ transform: scale(.82); opacity: 0; }
  38%{ opacity: .34; }
  100%{ transform: scale(1.26); opacity: 0; }
}
@keyframes mhdShineSoft{
  0%{ transform: rotate(18deg) translateX(-130%); opacity:0; }
  30%{ opacity:.18; }
  100%{ transform: rotate(18deg) translateX(240%); opacity:0; }
}
@media (prefers-reduced-motion: reduce){
  .btn.btn-new-ticket::after,
  .btn-new-ticket__dots::before,
  .btn-new-ticket__dots::after{
    animation: none !important;
  }
}

.btn.ghost, .chip.ghost{
  background: var(--btn-ghost-bg);
  border-color: var(--btn-ghost-border);
  box-shadow: 0 8px 20px rgb(var(--accent-rgb) / .10);
}
.btn.ghost:hover, .chip.ghost:hover{
  background: var(--btn-ghost-bg-hover);
  border-color: rgb(var(--accent-rgb) / .48);
  box-shadow: 0 11px 24px rgb(var(--accent-rgb) / .14);
}

.btn.danger, .chip.danger{
  color:#fff;
  border-color: var(--btn-danger-border);
  background: var(--btn-danger-bg);
  box-shadow: var(--btn-danger-shadow);
  text-shadow: 0 1px 0 rgba(0,0,0,.18);
}
.btn.danger:hover, .chip.danger:hover{
  border-color: rgb(248 113 113 / .88);
  background: var(--btn-danger-bg-hover);
  box-shadow: 0 14px 28px rgb(220 38 38 / .30), 0 1px 0 rgb(255 255 255 / .16) inset;
}

.btn.sm, .chip.sm{
  min-height: var(--control-h-sm);
  padding: var(--btn-py-sm) var(--btn-px-sm);
  font-size: .90rem;
}
.btn.lg, .chip.lg{
  min-height: var(--control-h-lg);
  padding: var(--btn-py-lg) var(--btn-px-lg);
  font-size: 1.02rem;
}
.btn.block{ width:100%; }

.btn[disabled], .chip[disabled]{
  opacity:.56;
  cursor:not-allowed;
  filter: grayscale(.18);
  box-shadow: none;
}
.btn.is-loading, .chip.is-loading{ opacity:.75; pointer-events:none; }
.btn .kbd-hint,
.chip .kbd-hint{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width: 48px;
  min-height: 20px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid rgb(255 255 255 / .35);
  background: rgb(0 0 0 / .20);
  color: rgb(255 255 255 / .95);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1;
}

/* =========================
   USER PILL
   ========================= */
.userpill{
  display:flex;
  align-items:center;
  gap:10px;

  padding: 8px 10px;
  border-radius: 18px;
  border: 1px solid var(--stroke);
  background: var(--glass);
}
.userpill-main{
  display:flex;
  align-items:center;
  gap:10px;
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  margin:0;
  cursor:pointer;
  text-align:left;
}
.userpill-main:focus-visible{
  outline: 2px solid rgb(var(--accent-rgb)/.60);
  outline-offset: 3px;
  border-radius: 12px;
}
.userpill-main .userpill-txt strong{ line-height: 1.1; }
.avatar{
  width:34px; height:34px;
  display:grid; place-items:center;
  border-radius: 12px;
  background: linear-gradient(135deg, rgb(var(--accent-rgb)/.30), rgb(var(--accent2-rgb)/.20));
  border: 1px solid var(--stroke);
  font-weight: 900;
}
.avatar.avatar--img{
  overflow:hidden;
}
.avatar.avatar--img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.modal__dialog.profile-modal{
  width: min(940px, calc(100vw - 24px));
  max-height: min(calc(100dvh - 24px), 940px);
  margin: 8px auto;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.modal__dialog.profile-modal .modal__header{
  flex: 0 0 auto;
}
.profile-form{
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 14px 16px 16px;
  min-height: 0;
  overflow: auto;
}
.profile-form .profile-modal-tabs{
  --modal-tab-min: 170px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--modal-tab-min), 1fr));
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--stroke);
  border-radius: 10px;
  background: color-mix(in srgb, var(--glass) 85%, transparent);
  overflow: hidden;
}
.profile-form .profile-modal-tabs .btn{
  width: 100%;
  min-width: 0;
  min-height: 34px;
  height: 34px;
  padding: 0 10px;
  gap: 6px;
  justify-content: center;
  text-align: center;
  line-height: 1.1;
  white-space: nowrap;
}
.profile-form .profile-modal-tabs .btn.is-active{
  border-color: rgb(var(--accent-rgb) / .45);
  background: rgb(var(--accent-rgb) / .16);
  color: rgb(var(--accent-rgb));
  box-shadow: 0 10px 24px rgb(var(--accent-rgb) / .12);
}
.profile-form .profile-modal-tabs .btn.is-active i{
  color: rgb(var(--accent-rgb));
}
.profile-form .profile-tab-panel[hidden]{
  display: none !important;
}
.profile-section{
  display:grid;
  gap: 12px;
  border: 1px solid var(--stroke);
  border-radius: 16px;
  background: linear-gradient(180deg, rgb(255 255 255 / .28), rgb(255 255 255 / .10));
  padding: 14px;
}
html[data-theme="dark"] .profile-section{
  background: linear-gradient(180deg, rgb(15 23 42 / .36), rgb(15 23 42 / .16));
}
.profile-section__title{
  margin: 0;
  font-size: .98rem;
}
.profile-form .grid.cols-2{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.profile-form .grid.cols-3{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.profile-form .check-line{
  display:flex;
  align-items:center;
  gap: 8px;
  font-size: .9rem;
}
.profile-form .field--avatar{
  align-content: start;
}
.profile-form .field--avatar > span:first-child{ min-height: 24px; }
.profile-form .profile-avatar-upload{
  display:flex;
  align-items:center;
  gap:8px;
}
.profile-form .profile-avatar-upload > .input[type="file"]{
  flex:1 1 auto;
  min-width:0;
}
.profile-form .profile-avatar-clear{
  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  padding: 0;
}
.profile-form .profile-avatar-clear i{
  margin: 0;
}
.profile-form .profile-avatar-remove-current{
  align-self:flex-start;
}
.profile-form .profile-avatar-remove-current:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.profile-form input[type="file"].input{
  min-height: 44px;
  padding: 8px 10px;
}
.profile-form textarea.input{
  min-height: 90px;
  resize: vertical;
}
.profile-form .modal__footer{
  position: sticky;
  bottom: 0;
  z-index: 2;
  margin-top: 2px;
  padding: 12px 2px 2px;
  border-top: 1px solid var(--stroke);
  background: linear-gradient(180deg, rgb(255 255 255 / .04), var(--surface));
}
html[data-theme="dark"] .profile-form .modal__footer{
  background: linear-gradient(180deg, rgb(15 23 42 / .06), rgb(2 6 23 / .62));
}
@media (max-width: 980px){
  .modal__dialog.profile-modal{
    width: calc(100vw - 12px);
    max-height: calc(100dvh - 12px);
    margin: 6px auto;
  }
  .profile-form{
    padding: 12px;
  }
  .profile-form .profile-modal-tabs{
    --modal-tab-min: 150px;
  }
  .profile-section{
    padding: 12px;
  }
  .profile-form .grid.cols-2,
  .profile-form .grid.cols-3{
    grid-template-columns: 1fr;
  }
}

/* =========================
   SIDEBAR / NAV â€” premium
   ========================= */
.sidebar{
  position: fixed;
  left: 0;
  top: var(--topbar-h);
  bottom: 0;
  width: var(--sidebar-w);

  padding: 12px 10px;
  overflow: hidden;

  display: flex;
  flex-direction: column;
  gap: 6px;

  z-index: 220;
  transform: translateX(0);
  transition: transform var(--t2), width var(--t2);

  background:
    radial-gradient(900px 500px at 30% 0%, rgb(var(--accent2-rgb)/.12), transparent 55%),
    linear-gradient(180deg, rgb(255 255 255 / .70), rgb(255 255 255 / .40));
  border-right: 1px solid var(--stroke);
  box-shadow: 18px 0 70px rgba(2,6,23,.10);
  backdrop-filter: blur(16px);

  height: calc(100dvh - var(--topbar-h));
}
html[data-theme="dark"] .sidebar{
  background:
    radial-gradient(900px 500px at 30% 0%, rgb(var(--accent2-rgb)/.10), transparent 58%),
    linear-gradient(180deg, rgb(15 23 42 / .34), rgb(15 23 42 / .16));
  box-shadow: 18px 0 90px rgba(0,0,0,.40);
}

.sidebar-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;

  padding: 4px 6px 8px;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--stroke) 70%, transparent);
  background: linear-gradient(135deg, rgb(255 255 255 / .55), rgb(255 255 255 / .22));
}
html[data-theme="dark"] .sidebar-head{
  background: linear-gradient(135deg, rgb(15 23 42 / .30), rgb(15 23 42 / .16));
}
.sidebar-brand{
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 850;
}
.sidebar-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 5px rgb(var(--accent-rgb)/.18), 0 0 18px rgb(var(--accent2-rgb)/.18);
}
.sidebar-name{
  font-size: .95rem;
  letter-spacing: .01em;
}
.sidebar-collapse{
  width: 34px;
  height: 34px;
  min-height: 34px;
  border-radius: 14px;
}
.sidebar-collapse svg{
  transition: transform var(--t);
}

.nav{
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 8px 4px 12px 8px;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.nav-title{
  margin: 12px 8px 8px;
  font-size: .74rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--muted) 88%, transparent);
}

.nav-sep{
  height: 1px;
  margin: 12px 8px;
  background: color-mix(in srgb, var(--stroke) 70%, transparent);
}

.nav-item{
  display: flex;
  align-items: center;
  gap: 12px;

  padding: 10px 10px;
  border-radius: 18px;

  text-decoration: none;
  color: var(--text);

  border: 1px solid transparent;
  background: transparent;

  position: relative;
  transition: transform var(--t), background var(--t), border-color var(--t), box-shadow var(--t);
}

.nav-item .nav-ic{
  width: 34px;
  height: 34px;
  border-radius: 16px;

  display: grid;
  place-items: center;

  border: 1px solid var(--stroke);
  background:
    radial-gradient(260px 220px at 20% 20%, rgb(var(--accent-rgb)/.16), transparent 55%),
    linear-gradient(135deg, rgb(var(--accent2-rgb)/.08), transparent);
  box-shadow: var(--shadow2);
}
.nav-item .nav-ic svg{ width: 18px; height: 18px; }
.nav-label{
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.nav-item:hover{
  transform: translateY(-1px);
  border-color: rgb(var(--accent-rgb)/.18);
  background:
    radial-gradient(380px 180px at 20% 20%, rgb(var(--accent2-rgb)/.12), transparent 60%),
    linear-gradient(135deg, rgb(var(--accent-rgb)/.10), transparent);
  box-shadow: 0 16px 46px rgb(var(--accent-rgb)/.10);
}

.nav-item.is-active{
  border-color: rgb(var(--accent-rgb)/.30);
  background:
    radial-gradient(420px 220px at 30% 20%, rgb(var(--accent2-rgb)/.18), transparent 62%),
    linear-gradient(135deg, rgb(var(--accent-rgb)/.18), rgb(var(--accent2-rgb)/.10));
  box-shadow: 0 18px 54px rgb(var(--accent-rgb)/.12);
}
.nav-item.is-active::before{
  content:"";
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 22px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--accent), var(--accent2));
  box-shadow: 0 0 0 6px rgb(var(--accent-rgb)/.10);
}
.nav-item:focus-visible{
  outline: none;
  box-shadow: var(--ring);
  border-color: rgb(var(--accent-rgb)/.35);
}

/* Sidebar tuning (light mode): menos saturacao, contraste mais limpo */
html:not([data-theme="dark"]) .sidebar{
  background:
    radial-gradient(820px 460px at 22% -8%, rgba(148, 163, 184, .10), transparent 58%),
    linear-gradient(180deg, rgba(255,255,255,.84), rgba(248,250,252,.78));
  border-right: 1px solid rgba(15, 23, 42, .08);
  box-shadow: 12px 0 40px rgba(15, 23, 42, .08);
}
html:not([data-theme="dark"]) .sidebar-head{
  background: linear-gradient(140deg, rgba(255,255,255,.84), rgba(248,250,252,.68));
  border-color: rgba(15, 23, 42, .08);
}
html:not([data-theme="dark"]) .nav-title{
  color: rgba(51, 65, 85, .70);
}
html:not([data-theme="dark"]) .nav-sep{
  background: rgba(15, 23, 42, .08);
}
html:not([data-theme="dark"]) .nav-item{
  border-color: rgba(15, 23, 42, .03);
}
html:not([data-theme="dark"]) .nav-item .nav-ic{
  border-color: rgba(15, 23, 42, .10);
  background:
    radial-gradient(220px 160px at 18% 16%, rgba(148, 163, 184, .18), transparent 56%),
    linear-gradient(145deg, rgba(255,255,255,.92), rgba(241,245,249,.84));
  box-shadow: 0 6px 18px rgba(15, 23, 42, .08);
}
html:not([data-theme="dark"]) .nav-item:hover{
  border-color: rgb(var(--accent-rgb)/.22);
  background:
    radial-gradient(340px 180px at 16% 12%, rgb(var(--accent-rgb)/.08), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,.90), rgba(236,253,245,.66));
  box-shadow: 0 10px 26px rgba(15, 23, 42, .10);
}
html:not([data-theme="dark"]) .nav-item:hover .nav-ic{
  border-color: rgb(var(--accent-rgb)/.20);
  background:
    radial-gradient(240px 170px at 20% 18%, rgb(var(--accent-rgb)/.15), transparent 58%),
    linear-gradient(145deg, rgba(255,255,255,.94), rgba(220,252,231,.72));
}
html:not([data-theme="dark"]) .nav-item.is-active{
  border-color: rgb(var(--accent-rgb)/.28);
  background:
    radial-gradient(360px 200px at 22% 14%, rgb(var(--accent-rgb)/.14), transparent 62%),
    linear-gradient(140deg, rgba(236,253,245,.92), rgba(220,252,231,.72));
  box-shadow: 0 12px 30px rgba(16, 185, 129, .12);
}
html:not([data-theme="dark"]) .nav-item.is-active::before{
  width: 5px;
  height: 20px;
  box-shadow: 0 0 0 4px rgb(var(--accent-rgb)/.08);
}
html:not([data-theme="dark"]) .nav-item.is-active .nav-ic{
  border-color: rgb(var(--accent-rgb)/.26);
  background:
    radial-gradient(220px 170px at 22% 18%, rgb(var(--accent-rgb)/.24), transparent 56%),
    linear-gradient(145deg, rgba(240,253,244,.96), rgba(220,252,231,.84));
}
html:not([data-theme="dark"]) .sidebar .nav{
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, .48) transparent;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}
html:not([data-theme="dark"]) .sidebar .nav::-webkit-scrollbar{
  width: 4px;
}
html:not([data-theme="dark"]) .sidebar .nav::-webkit-scrollbar-thumb{
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(148,163,184,.58), rgba(100,116,139,.36));
}
html:not([data-theme="dark"]) .sidebar .nav::-webkit-scrollbar-track{
  background: transparent;
}
html[data-theme="dark"] .sidebar .nav{
  scrollbar-width: thin;
  scrollbar-color: rgba(148, 163, 184, .40) transparent;
  -ms-overflow-style: -ms-autohiding-scrollbar;
}
html[data-theme="dark"] .sidebar .nav::-webkit-scrollbar{
  width: 4px;
}
html[data-theme="dark"] .sidebar .nav::-webkit-scrollbar-thumb{
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(148,163,184,.46), rgba(100,116,139,.28));
}
html[data-theme="dark"] .sidebar .nav::-webkit-scrollbar-track{
  background: transparent;
}

/* Desktop collapsed */
body.sidebar-collapsed .sidebar{
  width: var(--sidebar-w-collapsed);
  padding: 12px 8px;
}
body.sidebar-collapsed .sidebar-head{
  justify-content: center;
}
body.sidebar-collapsed .sidebar-brand{
  display: none;
}
body.sidebar-collapsed .sidebar-collapse svg{
  transform: rotate(180deg);
}
body.sidebar-collapsed .nav-title,
body.sidebar-collapsed .nav-sep{
  display: none;
}
body.sidebar-collapsed .nav-item{
  justify-content: center;
  gap: 0;
  padding: 10px;
}
body.sidebar-collapsed .nav-label{
  display: none;
}
body.sidebar-collapsed .nav-item.is-active::before{
  left: 4px;
}

/* MOBILE drawer overlay */
@media (max-width: 980px){
  .sidebar{
    width: min(340px, 86vw);
    transform: translateX(-105%);
    z-index: 320;
  }
  body.sidebar-open .sidebar{ transform: translateX(0); }
  body.sidebar-collapsed .sidebar{ width: min(340px, 86vw); }
  body.sidebar-collapsed .sidebar-head{ justify-content: space-between; }
  body.sidebar-collapsed .sidebar-brand{ display: flex; }
  body.sidebar-collapsed .nav-title,
  body.sidebar-collapsed .nav-sep{ display: block; }
  body.sidebar-collapsed .nav-item{
    justify-content: flex-start;
    gap: 12px;
    padding: 10px 10px;
  }
  body.sidebar-collapsed .nav-label{ display: inline; }
  body.sidebar-collapsed .sidebar-collapse svg{ transform: none; }

  body.sidebar-open{ overflow: hidden; }
  body.sidebar-open::before{
    content:"";
    position: fixed;
    left: 0; right: 0;
    top: var(--topbar-h);
    bottom: 0;
    background: rgba(2,6,23,.52);
    backdrop-filter: blur(10px);
    z-index: 310;
  }
}

/* =========================
   MAIN / LAYOUT (FULL WIDTH padrÃ£o)
   ========================= */
.content-wrap{
  width: 100%;
  max-width: var(--max);
  margin: 0 auto;
}
.main{
  padding: calc(var(--topbar-h) + var(--main-side-pad)) var(--main-side-pad) 12px;
}
body.is-login .main{
  padding-top: 12px;
}
.main.has-sidebar{
  margin-left: var(--sidebar-w);
}
body.sidebar-collapsed .main.has-sidebar{
  margin-left: var(--sidebar-w-collapsed);
}
@media (max-width: 980px){
  .main.has-sidebar{ margin-left: 0; }
  body.sidebar-collapsed .main.has-sidebar{ margin-left: 0; }
  .topbar-center{ display:none; }
}

/* FULL WIDTH global */
.page{
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}

.card{
  border-radius: var(--r-card);
  padding: 12px;
}
.grid{ display:grid; gap: 12px; }

.page-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 14px;
  flex-wrap:wrap;
}
.page-title h2{ margin:0; letter-spacing:-.01em; }
.page-title p{ margin:6px 0 0; }

.page-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 10px;
  flex-wrap:wrap;
}

/* =========================
   SEARCHBAR (toolbar)
   ========================= */
.searchbar{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.searchbar__input{
  display:flex; align-items:center; gap:10px;
  min-height: var(--control-h);
  padding: 7px 10px;

  border-radius: var(--r-input);
  border: 1px solid var(--stroke);
  background: var(--glass);
  box-shadow: var(--shadow2);

  min-width: min(520px, 100%);
}
.searchbar__input svg{ width:18px; height:18px; opacity:.75; }
.searchbar__input input{
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}
@media (max-width: 980px){
  .searchbar__input{ min-width: 100%; }
}

/* =========================
   TABLE (premium estÃ¡vel)
   ========================= */
.table-wrap{
  padding: 0;
  overflow:auto;
  border-radius: var(--r-card);
  border: 1px solid var(--stroke);
  background: var(--glass);
}
.table{
  width:100%;
  min-width: 860px;
  border-collapse: separate;
  border-spacing: 0;
}
.table thead th{
  position: sticky;
  top: 0;
  z-index: 1;

  padding: 10px 12px;
  text-align:left;

  font-size:.90rem;
  font-weight: 900;
  letter-spacing:.02em;

  border-bottom: 1px solid var(--stroke);
  background: linear-gradient(180deg, rgb(255 255 255 / .78), rgb(255 255 255 / .34));
  backdrop-filter: blur(14px);
  white-space: nowrap;
}
html[data-theme="dark"] .table thead th{
  background: linear-gradient(180deg, rgb(15 23 42 / .38), rgb(15 23 42 / .12));
}

/* Global table enhancements (sortable + professional feel) */
.table.table-interactive thead th.th-sortable{
  cursor: pointer;
  user-select: none;
  position: relative;
  padding-right: 28px;
  transition: color var(--t), background var(--t);
}
.table.table-interactive thead th.th-sortable::after{
  content: "\2195";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 11px;
  line-height: 1;
  opacity: .34;
}
.table.table-interactive thead th.th-sortable:hover{
  color: var(--accent);
}
.table.table-interactive thead th.th-sortable:hover::after{
  opacity: .72;
}
.table.table-interactive thead th.th-sortable.is-sorted-asc::after{
  content: "\2191";
  opacity: .95;
}
.table.table-interactive thead th.th-sortable.is-sorted-desc::after{
  content: "\2193";
  opacity: .95;
}
.table.table-interactive thead th.th-sortable:focus-visible{
  outline: none;
  box-shadow: inset 0 0 0 2px rgb(var(--accent-rgb)/.35);
  border-radius: 10px;
}

.table.table-interactive tbody tr:nth-child(even):not(.is-selected){
  background: rgb(148 163 184 / .035);
}
html[data-theme="dark"] .table.table-interactive tbody tr:nth-child(even):not(.is-selected){
  background: rgb(148 163 184 / .05);
}

/* =========================
   Dark theme: badges/searchbar contrast
   ========================= */
html[data-theme="dark"] .badge{
  background: rgba(255,255,255,.08);
  border-color: rgba(255,255,255,.16);
  color: var(--text);
}
html[data-theme="dark"] .badge::before{
  background: var(--c, rgba(255,255,255,.45));
  box-shadow: 0 0 0 3px rgba(255,255,255,.10);
}
html[data-theme="dark"] .badge--ok{
  background: rgb(var(--accent-rgb)/.24);
  border-color: rgb(var(--accent-rgb)/.45);
}
html[data-theme="dark"] .badge--danger{
  background: rgb(220 38 38 / .22);
  border-color: rgb(220 38 38 / .45);
}
html[data-theme="dark"] .badge--muted{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
}
html[data-theme="dark"] .searchbar__input{
  background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  border-color: rgba(255,255,255,.14);
}
html[data-theme="dark"] .searchbar__input svg{ opacity:.9; }
.table td{
  padding: 10px 12px;
  border-bottom: 1px solid var(--stroke);
  text-align:left;
  font-size:.94rem;

  vertical-align: middle;
  line-height: 1.35;
  word-break: break-word;
}
.table tbody tr{ transition: background var(--t), transform var(--t); }
.table tbody tr:hover{ background: linear-gradient(135deg, rgb(var(--accent-rgb)/.08), transparent); }
.table tbody tr:last-child td{ border-bottom: none; }

.table .actions{
  display:flex;
  justify-content:flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
@media (max-width: 980px){
  .table{ min-width: 760px; }
}

/* =========================
   BADGES
   ========================= */
.badge{
  display:inline-flex; align-items:center; gap:8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: rgb(var(--accent-rgb)/.10);
  font-weight: 900;
  font-size:.84rem;
  white-space: nowrap;
}
.badge svg{ width:16px; height:16px; }
.badge--ok{
  background: rgb(var(--accent-rgb)/.14);
  border-color: rgb(var(--accent-rgb)/.34);
}
.badge--danger{
  background: rgb(220 38 38 / .10);
  border-color: rgb(220 38 38 / .30);
}
.badge--muted{ background: rgba(15,23,42,.06); }

/* =========================
   FORMS (inputs padrÃ£o)
   ========================= */
input, select, textarea{
  width:100%;
  min-height: var(--control-h);
  color: var(--text);
  background: var(--surface);
  border: 1px solid var(--stroke);
  border-radius: 16px;
  padding: 7px 10px;
  line-height: 1.25;
  outline:none;
  transition: box-shadow var(--t), border-color var(--t), transform var(--t), background var(--t);
}
input::placeholder, textarea::placeholder{ color: color-mix(in srgb, var(--muted) 85%, transparent); }
textarea{
  min-height: 120px;
  line-height: 1.4;
  resize: vertical;
}
input:focus, select:focus, textarea:focus{ box-shadow: var(--ring); }

/* checkbox/radio NÃƒO herdam input full width */
input[type="checkbox"],
input[type="radio"]{
  width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  padding: 0 !important;
  border-radius: 6px !important;
  border: 1px solid var(--stroke) !important;
  background: rgba(255,255,255,.25) !important;
  box-shadow: none !important;
  accent-color: var(--accent);
}
html[data-theme="dark"] input[type="checkbox"],
html[data-theme="dark"] input[type="radio"]{
  background: rgba(0,0,0,.18) !important;
}

.form-section{
  border-radius: 18px;
  padding: 14px;
  border: 1px solid var(--stroke);
  background: linear-gradient(135deg, rgb(var(--accent-rgb)/.06), transparent);
}
.section-head{
  display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
  margin-bottom: 10px;
}
.section-head h4{ margin:0; font-size: 1rem; }
.section-head p{ margin:4px 0 0; }

.form-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 12px;
}
.field{ display:grid; gap:8px; }
.field label{ font-size:.90rem; color: var(--muted); font-weight: 900; }

.span-12{ grid-column: span 12; }
.span-8{ grid-column: span 8; }
.span-6{ grid-column: span 6; }
.span-5{ grid-column: span 5; }
.span-4{ grid-column: span 4; }
.span-3{ grid-column: span 3; }
.span-2{ grid-column: span 2; }
.span-1{ grid-column: span 1; }

@media (max-width: 980px){
  .form-grid{ grid-template-columns: repeat(6, 1fr); }
  .span-12{ grid-column: span 6; }
  .span-8{ grid-column: span 6; }
  .span-6{ grid-column: span 6; }
  .span-5{ grid-column: span 6; }
  .span-4{ grid-column: span 6; }
  .span-3{ grid-column: span 3; }
  .span-2{ grid-column: span 3; }
  .span-1{ grid-column: span 3; }
}

/* input + botÃ£o lado a lado (ex: documento + lupa) */
.input-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.input-row > input,
.input-row > select{ flex:1; }
.input-row > .btn{
  min-height: var(--control-h);
  height: var(--control-h);
  padding: 0 14px;
  border-radius: 16px;
  white-space: nowrap;
  flex: 0 0 auto;
}

/* checkbox line */
.checkline{ display:flex; align-items:center; gap:10px; margin-top:10px; }
.checkline input{ transform: scale(1.1); }

/* =========================
   MODAL (base)
   ========================= */
body.modal-open{ overflow:hidden; }
html.has-modal,
html.has-modal body{ overflow: hidden; }

.modal{
  position:fixed; inset:0;
  display:none;
  align-items:flex-start; justify-content:center;
  padding: max(14px, calc(var(--topbar-h, 74px) + 10px), env(safe-area-inset-top, 0px)) 16px max(14px, env(safe-area-inset-bottom, 0px));
  background: rgba(2,6,23,.55);
  backdrop-filter: blur(12px);
  z-index: 12000;
  overflow:auto;
}
.modal__backdrop{
  position:absolute;
  inset:0;
}
.modal.is-open,
.modal[aria-hidden="false"]{ display:flex; animation: modalFade .16s var(--ease) both; }
@keyframes modalFade{ from{ opacity:0; } to{ opacity:1; } }

.modal__dialog{
  width: min(1280px, 96vw);
  max-height: calc(100dvh - max(28px, calc(var(--topbar-h, 74px) + 18px)));
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-radius: var(--r-modal);
  border: 1px solid var(--stroke);
  box-shadow: var(--shadow);
  background: var(--glass);
  transform: translateY(8px) scale(.985);
  animation: modalPop .18s var(--ease) both;
  margin: 0 auto;
}
@keyframes modalPop{ from{ transform: translateY(12px) scale(.975); } to{ transform: translateY(0) scale(1); } }

.modal__header{
  position: sticky;
  top: 0;
  z-index: 2;
  flex: 0 0 auto;
  display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
  padding: 16px 18px;
  border-top-left-radius: inherit;
  border-top-right-radius: inherit;
  border-bottom: 1px solid var(--stroke);
  background: linear-gradient(180deg, rgb(255 255 255 / .96), rgb(248 250 252 / .90));
  backdrop-filter: blur(14px);
  box-shadow: 0 10px 22px rgb(2 6 23 / .08);
}
html[data-theme="dark"] .modal__header{
  background: linear-gradient(180deg, rgb(15 23 42 / .84), rgb(15 23 42 / .68));
  box-shadow: 0 12px 26px rgb(0 0 0 / .34);
}
.modal__header h3{ margin:0; font-size: 1.12rem; }

.modal__body{
  padding: 18px;
  display:grid;
  gap: 12px;
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
}
.modal__footer{
  padding: 14px 18px;
  border-top: 1px solid var(--stroke);
  display:flex; justify-content:flex-end; gap:10px;
  flex-wrap: wrap;
  flex: 0 0 auto;
}

/* modal de transferÃªncia: evita corte do dropdown */
#modalTkTransfer .modal__dialog{ overflow: visible; }
#modalTkTransfer .modal__body{ overflow: visible; }

/* SearchSelect dentro de modal sempre acima do conteÃºdo */
.modal .searchselect{
  position: relative;
  isolation: isolate;
}
.modal .searchselect.is-open{
  z-index: 2500 !important;
}
.modal .searchselect .ss-list{
  z-index: 2501 !important;
}

/* =========================
   TOAST (somente MHD â€” versÃ£o final)
   ========================= */
.mhd-toast-wrap{
  position: fixed;
  top: 18px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99999;
  display: grid;
  gap: 10px;
  pointer-events: none;
}
.mhd-toast{
  pointer-events: auto;
  width: min(92vw, 560px);
  min-width: min(320px, 92vw);
  max-width: 560px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 60px rgba(0,0,0,.25);
  transform: translateY(-8px);
  opacity: 0;
  animation: mhdToastIn .18s ease-out forwards;
}
.mhd-toast.ok{ border-color: rgb(34 197 94 / .40); }
.mhd-toast.err{ border-color: rgb(220 38 38 / .40); }
.mhd-toast.warn{ border-color: rgb(245 158 11 / .45); }

.mhd-toast .t-title{ font-weight: 900; margin: 0 0 3px; }
.mhd-toast .t-msg{ margin: 0; opacity: .85; line-height: 1.25; }

@keyframes mhdToastIn{ to{ transform: translateY(0); opacity: 1; } }
@keyframes mhdToastOut{ to{ transform: translateY(-8px); opacity: 0; } }

/* =========================================================
   PAGE: Selecionar Empresa
   ========================================================= */
.company-select{
  max-width: var(--max);
  margin: 16px auto;
  padding: 16px;
}

/* =========================================================
   PAGE: Acessos (empresa/acessos)
   ========================================================= */
.access-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:14px; }
.access-head__right{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end; }

.seg-tabs{
  display:flex; align-items:center; gap:10px;
  margin-top:14px; padding:10px;
  border-radius:16px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.05);
}
html[data-theme="dark"] .seg-tabs{ background: rgba(255,255,255,.03); }

.seg-tabs__spacer{ flex:1; }
.seg-tabs__btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.04);
  color: var(--text);
  cursor:pointer;
}
.seg-tabs__btn:hover{ background: rgba(255,255,255,.07); }
.seg-tabs__btn.is-active{
  border-color: rgb(var(--accent-rgb)/.55);
  box-shadow: 0 0 0 4px rgb(var(--accent-rgb)/.12);
}
.seg-tabs__btn span{ font-weight: 800; }

.access-top{ margin-top:14px; }

/* filtros */
.filters{
  display:grid;
  grid-template-columns: 1.2fr .8fr .8fr auto;
  gap:12px;
  align-items:end;
}
.filters-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  flex-direction:row;
}
.filters-actions .btn,
.filters-actions a.btn{ white-space:nowrap; }
.field.filters-actions{
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

/* destaque visual para aÃ§Ãµes de filtro (Filtrar / Lembrar / Limpar) */
.filters-actions .btn[type="submit"]{
  color: #f8fffb;
  border-color: var(--btn-primary-border);
  background: var(--btn-primary-bg);
  box-shadow: var(--btn-primary-shadow);
}
.filters-actions .btn[type="submit"]:hover{
  border-color: rgb(var(--accent-rgb) / .88);
  background: var(--btn-primary-bg-hover);
  box-shadow: 0 14px 30px rgb(var(--accent-rgb) / .28), 0 1px 0 rgb(255 255 255 / .22) inset;
}

.filters-actions .btn.ghost,
.filters-actions a.btn.ghost{
  border-color: var(--btn-ghost-border);
  background: var(--btn-ghost-bg);
  box-shadow: 0 8px 20px rgb(var(--accent-rgb) / .10);
}
.filters-actions .btn.ghost:hover,
.filters-actions a.btn.ghost:hover{
  border-color: rgb(var(--accent-rgb) / .48);
  background: var(--btn-ghost-bg-hover);
  box-shadow: 0 11px 24px rgb(var(--accent-rgb) / .14);
}

.filters-actions [data-tk-remember]{
  border-color: rgb(250 204 21 / .62) !important;
  background: linear-gradient(135deg, rgb(250 204 21 / .20), rgb(251 146 60 / .12));
  box-shadow: 0 12px 30px rgb(245 158 11 / .22);
}
.filters-actions [data-tk-remember]:hover{
  border-color: rgb(250 204 21 / .82) !important;
  box-shadow: 0 16px 38px rgb(245 158 11 / .28);
}

.field--actions{
  display:flex;
  gap:10px;
  align-items:end;
  justify-content:flex-end;
}
.field--actions .btn{ white-space:nowrap; }

@media (max-width: 980px){
  .filters{ grid-template-columns: 1fr 1fr; }
  .field--actions{ justify-content:flex-start; }
}
@media (max-width: 640px){
  .access-head{ flex-direction:column; align-items:flex-start; }
  .access-head__right{ justify-content:flex-start; }
  .seg-tabs{ flex-wrap:wrap; }
}

/* modal: membros/perms */
.member-box,.perm-box{
  margin-top:14px;
  padding:12px;
  border-radius:16px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.04);
}
html[data-theme="dark"] .member-box,
html[data-theme="dark"] .perm-box{ background: rgba(255,255,255,.03); }

.member-box__head,.perm-box__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.member-box__search,.perm-box__search{
  display:flex; align-items:center; gap:8px;
  padding:8px 10px;
  border-radius:14px;
  border:1px solid var(--stroke);
  background: rgba(0,0,0,.06);
  min-width:260px;
}
html[data-theme="dark"] .member-box__search,
html[data-theme="dark"] .perm-box__search{ background: rgba(0,0,0,.18); }

.member-box__search input,.perm-box__search input{
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:0 !important;
  min-height:auto !important;
}

/* grids */
.member-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:10px;
  max-height:340px;
  overflow:auto;
  padding-right:6px;
}
@media (max-width: 980px){ .member-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px){
  .member-grid{ grid-template-columns: 1fr; }
  .perm-box__search{ min-width:100%; }
}

.member-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.03);
  cursor:pointer;
}
.member-item:hover{ background: rgba(255,255,255,.06); }

.perm-box__actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.perm-groups{ display:grid; gap:14px; }

.perm-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:10px;
}
@media (max-width: 1100px){ .perm-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 640px){ .perm-grid{ grid-template-columns: 1fr; } }

.perm-item{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px;
  border-radius:14px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.03);
  cursor:pointer;
}
.perm-item:hover{ background: rgba(255,255,255,.06); }

/* =========================================================
   MODAL: Contatos do Cliente (versÃ£o final)
   ========================================================= */
#modalClientContacts .cc-body{ gap: 12px; }

#modalClientContacts .cc-top{
  padding: 10px 12px;
  border-radius: 18px;
  border: 1px solid var(--stroke);
  background: linear-gradient(135deg, rgb(var(--accent-rgb)/.06), transparent);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  flex-wrap: wrap;
}
#modalClientContacts .cc-top__title{ margin-bottom: 4px; }

/* layout em coluna (patch final) */
#modalClientContacts .cc-grid,
.cc-grid{ display:grid; grid-template-columns: 1fr; gap: 14px; }

#modalClientContacts .cc-left,
#modalClientContacts .cc-right{ padding: 14px; }

/* filtro */
#modalClientContacts .cc-filter{
  display:flex;
  align-items:center;
  gap: 10px;
  min-width: 320px;
}
#modalClientContacts .cc-filter input{ width: 100%; }
@media (max-width: 980px){
  #modalClientContacts .cc-filter{ min-width: 100%; }
}

#modalClientContacts .cc-tools{
  display:grid;
  grid-template-columns: 1fr auto;
  gap:10px;
  align-items:center;
}
#modalClientContacts .cc-contact-list{
  display:grid;
  gap:10px;
  max-height: min(32vh, 300px);
  overflow:auto;
  padding-right: 2px;
  margin-top: 8px;
}
#modalClientContacts .cc-contact-head{
  margin-top: 2px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  color: var(--muted);
}
#modalClientContacts .cc-contact-item{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgb(0 0 0 / .12);
  background: rgb(255 255 255 / .72);
  text-align:left;
  cursor:pointer;
  position:relative;
  z-index:0;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
}
html[data-theme="dark"] #modalClientContacts .cc-contact-item{
  border-color: rgb(255 255 255 / .10);
  background: rgb(255 255 255 / .05);
}
#modalClientContacts .cc-contact-item:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgb(0 0 0 / .10);
  z-index:3;
}
#modalClientContacts .cc-contact-item.is-selected{
  border-color: rgb(var(--accent-rgb) / .55);
  box-shadow: 0 0 0 3px rgb(var(--accent-rgb) / .16), 0 18px 34px rgb(0 0 0 / .12);
  background: rgb(var(--accent-rgb) / .08);
}
#modalClientContacts .cc-contact-main{ flex:1; min-width:0; }
#modalClientContacts .cc-contact-name{ font-weight:800; line-height:1.1; }
#modalClientContacts .cc-contact-sub{ font-size:12px; opacity:.8; margin-top:3px; }
#modalClientContacts .cc-contact-actions{
  display:flex;
  align-items:center;
  gap:8px;
}
#modalClientContacts .cc-contact-actions .btn{
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
#modalClientContacts .cc-contact-edit{
  min-height: 30px;
  padding: 0 10px;
}
#modalClientContacts .cc-contact-assoc{
  min-height: 30px;
  height: 30px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  overflow: hidden;
  isolation: isolate;
}
#modalClientContacts .cc-contact-assoc i{
  width: 14px;
  height: 14px;
}
#modalClientContacts .cc-contact-item-system{
  border-style: dashed;
}
#modalClientContacts .cc-contact-tag{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgb(0 0 0 / .10);
  background: rgb(255 255 255 / .55);
}
html[data-theme="dark"] #modalClientContacts .cc-contact-tag{
  border-color: rgb(255 255 255 / .10);
  background: rgb(255 255 255 / .06);
}
#modalClientContacts .cc-contact-link{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:999px;
  border:1px solid rgb(0 0 0 / .14);
  background: rgb(255 255 255 / .55);
  opacity:.6;
}
html[data-theme="dark"] #modalClientContacts .cc-contact-link{
  border-color: rgb(255 255 255 / .14);
  background: rgb(255 255 255 / .06);
}
#modalClientContacts .cc-contact-item.is-selected .cc-contact-link{
  opacity:1;
  border-color: rgb(var(--accent-rgb) / .65);
  background: rgb(var(--accent-rgb) / .18);
}
#modalClientContacts .cc-contact-item-create{
  border-style:dashed;
  border-color: rgb(var(--accent-rgb) / .45);
  background: rgb(var(--accent-rgb) / .08);
}
#modalClientContacts .cc-contact-more-btn{
  justify-self:center;
  min-width:220px;
}
#modalClientContacts #ccContactSelectedPill{
  border:1px solid rgb(var(--accent-rgb)/.25);
  background: rgb(var(--accent-rgb)/.08);
}
html[data-theme="dark"] #modalClientContacts #ccContactSelectedPill{
  background: rgb(var(--accent-rgb)/.10);
  border-color: rgb(var(--accent-rgb)/.28);
}
@media (max-width: 760px){
  #modalClientContacts .cc-tools{
    grid-template-columns: 1fr;
  }
}

/* tabela rola (nÃ£o o modal inteiro) */
#modalClientContacts .cc-table{
  margin-top: 10px;
  max-height: 360px;
  overflow:auto;
  overscroll-behavior: contain;
}
#modalClientContacts .cc-table .table{
  min-width: 760px;
  table-layout: fixed;
}
#modalClientContacts .cc-table .table thead th{
  white-space: nowrap;
  position: static;
  top: auto;
}

/* aÃ§Ãµes + grids do vÃ­nculo */
#modalClientContacts .cc-right-grid{ display:grid; gap: 12px; }
#modalClientContacts .cc-two{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
@media (max-width: 520px){
  #modalClientContacts .cc-two{ grid-template-columns: 1fr; }
}

#modalClientContacts .cc-actions,
.cc-actions{
  display:flex;
  gap: 10px;
  justify-content:flex-end;
  flex-wrap: wrap;
}

#modalClientContacts .cc-phones,
.cc-phones{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
@media (max-width: 820px){
  .cc-phones{ grid-template-columns: 1fr; }
}

#modalClientContacts .cc-row-actions,
.cc-row-actions{
  display:flex;
  gap: 6px;
  justify-content:center;
  flex-wrap: nowrap;
}
#modalClientContacts .cc-row-actions{ align-items:center; }
#modalClientContacts .cc-row-actions .btn{ white-space:nowrap; }
#modalClientContacts .cc-row-icon{
  width: 30px;
  min-width: 30px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#modalClientContacts .cc-row-icon i{
  width: 14px;
  height: 14px;
}
#modalClientContacts .cc-actions-links{
  margin-top: 10px;
  justify-content: flex-end;
}

/* mensagem (sucesso/erro) */
.cc-msg{
  margin: 10px 0 2px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.08);
}
.cc-msg.ok{ border-color: rgb(34 197 94 / .35); }
.cc-msg.err{ border-color: rgb(220 38 38 / .35); }
.cc-msg__title{ font-weight: 800; margin-bottom: 4px; }
.cc-msg__text{ opacity: .85; }

/* typeahead */
#modalClientContacts .cc-typeahead{ position:relative; }
#modalClientContacts .cc-suggest{
  position:absolute; left:0; right:0; top: calc(100% + 8px);
  z-index: 20;
  border: 1px solid var(--stroke);
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
  overflow: hidden;
  max-height: 260px;
  overflow:auto;
}
html[data-theme="dark"] #modalClientContacts .cc-suggest{ background: rgba(12,18,28,.86); }

#modalClientContacts .cc-s-item{
  padding: 10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  cursor:pointer;
}
#modalClientContacts .cc-s-main{
  min-width:0;
  display:grid;
  gap:2px;
}
#modalClientContacts .cc-s-item:hover{ background: rgb(var(--accent-rgb)/.10); }
#modalClientContacts .cc-s-name{ font-weight: 700; }
#modalClientContacts .cc-s-meta{ font-size:.9rem; opacity:.75; }
#modalClientContacts .cc-s-edit{
  min-height: 28px;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 12px;
  flex: 0 0 auto;
}
#modalClientContacts .cc-s-create{
  border-top: 1px solid var(--stroke);
  background: rgba(255,255,255,.6);
  display: grid;
  justify-content: stretch;
  gap: 2px;
}
html[data-theme="dark"] #modalClientContacts .cc-s-create{
  background: rgba(0,0,0,.18);
}
#modalClientContacts .cc-s-create .cc-s-name{
  display:flex; align-items:center; gap:8px;
}
#modalClientContacts .cc-s-plus{
  width:18px; height:18px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:6px;
  background: rgb(var(--accent-rgb)/.16);
  color: rgb(var(--accent-rgb));
  font-weight: 900;
  line-height: 1;
}

#modalClientContacts .cc-link-extra{ display:grid; gap: 12px; }
#modalClientContacts .cc-link-extra[hidden]{ display:none; }

/* tabela de vinculados (respiro + widths Ãºteis) */
.cc-table .table th,
.cc-table .table td{ padding: 12px 12px; vertical-align: middle; }
.cc-table .table thead th:nth-child(1){ width: 80px; }
.cc-table .table thead th:nth-child(3){ width: 220px; }
.cc-table .table thead th:nth-child(4){ width: 320px; }
.cc-table .table thead th:nth-child(5){ width: 170px; }

/* compactacao da tabela de vinculados (modal clientes) */
#modalClientContacts .cc-table .table th,
#modalClientContacts .cc-table .table td{
  padding: 7px 10px;
  vertical-align: middle;
}
#modalClientContacts .cc-table .table td{
  font-size: .9rem;
  line-height: 1.2;
}
#modalClientContacts .cc-table .table td input{
  min-height: 30px !important;
  height: 30px;
  padding: 4px 10px;
  font-size: .88rem;
}
#modalClientContacts .cc-table .table .cc-phones{
  gap: 8px;
}
#modalClientContacts .cc-table .table tbody tr.is-dirty td{
  background: rgb(var(--accent-rgb) / .08);
}
#modalClientContacts .cc-table .table thead th:nth-child(1){ width: 86px; }
#modalClientContacts .cc-table .table thead th:nth-child(3){ width: 210px; }
#modalClientContacts .cc-table .table thead th:nth-child(4){ width: 240px; }
#modalClientContacts .cc-table .table thead th:nth-child(5){
  width: 96px;
  text-align: center;
}

/* =========================================================
   Catalog (Cadastros)
   ========================================================= */
.catalog .catalog-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:14px; flex-wrap:wrap;
}
.catalog .catalog-pills{
  display:flex; gap:10px; flex-wrap:wrap; margin-top:10px;
}
.catalog .pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  background: rgba(255,255,255,.55);
  border: 1px solid var(--stroke);
  box-shadow: 0 10px 18px rgba(0,0,0,.06);
}
html[data-theme="dark"] .catalog .pill{
  background: rgba(0,0,0,.22);
  box-shadow: 0 12px 22px rgba(0,0,0,.22);
}
.catalog .catalog-flash{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }
.catalog .pill.ok{ border-color: rgb(var(--accent-rgb)/.35); }
.catalog .pill.err{ border-color: rgb(220 38 38 / .35); }
.catalog .tk-filters{
  margin-top:14px;
  padding:12px;
  position: relative;
  z-index: 80;
}

.catalog .catalog-tabs{
  display:flex; gap:10px; align-items:center; margin-top:14px;
  flex-wrap:wrap; padding:10px; border-radius:16px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.04);
}
.catalog .tab{
  display:flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background: rgba(255,255,255,.04);
  transition: .18s ease;
}
.catalog .tab:hover{ transform: translateY(-1px); }
.catalog .tab.is-active{
  background: rgb(var(--accent-rgb)/.18);
  border-color: rgb(var(--accent-rgb)/.35);
  box-shadow: 0 0 0 6px rgb(var(--accent-rgb)/.12);
}

.catalog .catalog-toolbar{
  display:grid;
  grid-template-columns: 1.4fr 1fr 1fr auto;
  gap:12px;
  align-items:end;
  margin-top:14px;
  padding:12px;
  border-radius:16px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.04);
}
.catalog .toolbar-actions{
  display:flex; gap:10px; justify-content:flex-end; flex-wrap:wrap;
}
@media (max-width: 980px){
  .catalog .catalog-toolbar{ grid-template-columns: 1fr 1fr; }
  .catalog .toolbar-actions{ grid-column: 1 / -1; justify-content:space-between; }
}

/* Cor premium (chip + paleta) â€” versÃ£o final */
.color-line{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.color-chip{
  display:flex; align-items:center; gap:10px;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.04);
  min-width:260px;
}
.color-chip .sw{
  width:18px; height:18px; border-radius:999px;
  background: var(--c, #16A34A);
  box-shadow: 0 0 0 4px rgba(255,255,255,.08), 0 10px 24px rgba(0,0,0,.25);
}
.color-chip .txt{ display:flex; flex-direction:column; line-height:1.1; }
.color-chip strong{ font-size:.95rem; }

.swatches{ display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.swatch{
  width:26px; height:26px; border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background: var(--c);
  box-shadow: 0 10px 20px rgba(0,0,0,.25);
  cursor:pointer;
  transition:.15s ease;
}
.swatch:hover{ transform: translateY(-1px) scale(1.03); }

/* Badge cor na tabela */
.color-badge{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.color-badge .dot{
  width:12px; height:12px; border-radius:50%;
  background: var(--c, #94a3b8);
  box-shadow: 0 0 0 3px rgba(255,255,255,.06);
}
.color-badge code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  opacity: .9;
}

/* =========================
   Drawer
   ========================= */
.drawer{ position:fixed; inset:0; z-index:90; display:none; }
.drawer.is-open{ display:block; }
.drawer__backdrop{ position:absolute; inset:0; background: rgba(0,0,0,.55); }
.drawer__panel{
  position:absolute; top:0; right:0; height:100%;
  width: min(560px, 92vw);
  border-left: 1px solid rgba(255,255,255,.10);
  padding:14px;
  display:flex; flex-direction:column;
}
.drawer__header{
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:10px; padding:8px 6px 12px;
}
.drawer__body{ flex:1; overflow:auto; padding: 8px 6px 10px; }
.drawer__new{
  display:flex; gap:10px; flex-wrap:wrap;
  padding:12px;
  border-radius:16px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.04);
}
.drawer__list{ margin-top:12px; }

.list{ display:flex; flex-direction:column; gap:10px; }
.item{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.item .left{ display:flex; gap:10px; align-items:center; min-width:0; }
.item .left .name{ font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:260px; }
.item .right{ display:flex; gap:8px; align-items:center; }

/* =========================
   Tabsbar (padrÃ£o)
   ========================= */
.tabsbar{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:14px;
  flex-wrap:wrap;
  padding:10px;
  border-radius:16px;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.04);
}
.tabsbar__spacer{ flex:1; }

.tabsbar .btn.ghost.is-active{
  background: rgb(var(--accent-rgb)/.18);
  border-color: rgb(var(--accent-rgb)/.35);
  box-shadow: 0 0 0 6px rgb(var(--accent-rgb)/.12);
}
.tabsbar .btn.ghost:hover{ transform: translateY(-1px); }

/* =========================================================
   PAGE: Selecionar Empresa (layout premium)
   ========================================================= */

/* Card principal */
.company-select{
  max-width: 1040px;
  margin: 14px auto;
  padding: 14px;
}

/* Header */
.company-select__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.company-select__title{
  margin:0;
  letter-spacing:-.02em;
  font-size: 1.72rem;
}
.company-select__subtitle{
  margin:4px 0 0;
  font-size: .94rem;
}
.company-select__actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
}

/* Erro */
.company-select__error{
  margin-top: 14px;
  border-color: rgb(220 38 38 / .22);
}
.company-select__error-title{
  color: rgb(220 38 38);
}

/* KPIs (o que tÃ¡ â€œestranhoâ€ no print) */
.company-kpis{
  margin-top: 10px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.company-kpi{
  padding: 10px 12px;
  border-radius: 12px;
  overflow:hidden;
  position:relative;
}
.company-kpi--compact{
  min-height: 0;
}
.company-kpi::before{
  content:"";
  position:absolute; inset:-2px;
  background:
    radial-gradient(360px 140px at 20% 10%, rgb(var(--accent-rgb)/.08), transparent 60%),
    radial-gradient(360px 140px at 80% 90%, rgb(var(--accent2-rgb)/.08), transparent 60%);
  opacity:.74;
  pointer-events:none;
}
.company-kpi > *{ position:relative; }

.company-kpi__label{
  font-weight: 800;
  font-size: .80rem;
  letter-spacing: .02em;
}
.company-kpi__value{
  font-size: 1.34rem;
  font-weight: 900;
  line-height: 1.15;
  margin-top: 4px;
}
.company-kpi__hint{
  margin-top: 4px;
  font-size: .82rem;
}

/* variaÃ§Ãµes */
.company-kpi--ok{
  border-color: rgb(34 197 94 / .22);
}
.company-kpi--ok::before{
  background:
    radial-gradient(420px 180px at 20% 10%, rgb(34 197 94 / .14), transparent 60%),
    radial-gradient(420px 180px at 80% 90%, rgb(var(--accent2-rgb)/.10), transparent 60%);
}
.company-kpi--danger{
  border-color: rgb(220 38 38 / .22);
}
.company-kpi--danger::before{
  background:
    radial-gradient(420px 180px at 20% 10%, rgb(220 38 38 / .16), transparent 60%),
    radial-gradient(420px 180px at 80% 90%, rgb(220 38 38 / .10), transparent 60%);
}

/* Lista */
.company-list{
  margin-top: 12px;
  padding: 12px;
}
.company-list__tools{
  margin-top: 10px;
}
.company-list__tools .filters-actions{
  align-items:flex-end;
}
.company-list__meta{
  margin-top: 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.company-list__empty{
  margin-top: 12px;
  padding: 14px;
}
.company-list .is-hidden{
  display:none !important;
}
.company-list__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.company-list__title{ margin:0; }
.company-list__subtitle{ margin:6px 0 0; }

/* Grid de cards */
.company-grid{
  margin-top: 10px;
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

/* Card empresa */
.company-card{
  padding: 12px;
}
.company-card__row{
  display:flex;
  align-items:stretch;
  justify-content:space-between;
  gap: 12px;
}
.company-card__info{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap: 8px;
}
.company-card__top{
  display:flex;
  align-items:center;
  gap: 10px;
  flex-wrap: wrap;
}
.company-card__name{
  font-weight: 900;
  letter-spacing:-.01em;
  font-size: 1rem;
}
.company-card__meta{
  display:flex;
  align-items:center;
  flex-wrap: wrap;
  gap: 7px;
  font-size: .92rem;
}
.company-card__dot{
  opacity:.55;
}

/* Status (chip) */
.company-card__status{
  font-weight: 800;
  font-size: .80rem;
  padding: 6px 9px;
}
.company-card__status--ok{
  color:#0b3;
  border-color: rgb(34 197 94 / .28);
  background: rgb(34 197 94 / .10);
}
html[data-theme="dark"] .company-card__status--ok{
  color:#86efac;
  background: rgb(34 197 94 / .12);
}

/* AÃ§Ãµes */
.company-card__actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap: 10px;
  flex: 0 0 auto;
}
.company-card__form{ margin:0; }
.company-card__id{
  font-size: .80rem;
  opacity: .75;
}

/* Responsivo */
@media (max-width: 980px){
  .company-select__title{ font-size: 1.5rem; }
}
@media (max-width: 640px){
  .company-select{ padding: 14px; }
  .company-kpis{ grid-template-columns: 1fr; }

  .company-card__row{
    flex-direction:column;
    align-items:stretch;
  }
  .company-card__actions{
    align-items:stretch;
  }
  .company-card__actions .btn{ width:100%; }
  .company-card__id{ text-align:right; }
}

/* =========================================================
   AUTH / LOGIN â€” Premium Entrance (Menegate HelpDesk)
   ========================================================= */
.auth-wrap{
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: calc(100vh - 40px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 22px 16px;
}
.auth-wrap::before{
  content: "";
  position: absolute;
  inset: -120px;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(640px 360px at 20% 20%, rgb(var(--accent-rgb)/.16), transparent 64%),
    radial-gradient(620px 380px at 80% 85%, rgb(var(--accent2-rgb)/.14), transparent 66%),
    url("../img/logo-recorte.png") center/520px no-repeat;
  filter: blur(20px);
  opacity: .22;
  transform: scale(1.08);
}
html[data-theme="dark"] .auth-wrap::before{
  opacity: .28;
}
body.is-login .auth-wrap::before{
  display: none;
}

.auth-grid{
  position: relative;
  z-index: 1;
  width: min(1100px, 100%);
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 14px;
}

@media (max-width: 980px){
  .auth-grid{ grid-template-columns: 1fr; }
}

/* HERO */
.auth-hero{
  position:relative;
  overflow: clip;
  padding: 18px;
  transform-style: preserve-3d;
}

.auth-hero-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
}

.auth-badge{
  display:flex;
  align-items:center;
  gap: 12px;
}

.auth-avatar{
  width: 52px;
  height: 52px;
  border-radius: 18px;
  display:grid;
  place-items:center;
  font-weight: 900;
  letter-spacing:.5px;
  background: linear-gradient(135deg, rgb(var(--accent-rgb)/.18), rgb(var(--accent2-rgb)/.14));
  border: 1px solid rgb(255 255 255 / .14);
  box-shadow: 0 14px 40px rgb(0 0 0 / .10);
}

.auth-brand strong{ display:block; font-size: 1.05rem; }
.auth-brand .muted{ display:block; margin-top: 2px; }

.auth-shine{
  position:absolute;
  inset:-30%;
  pointer-events:none;
  background:
    radial-gradient(420px 260px at 18% 10%, rgb(255 255 255 / .30), transparent 60%),
    radial-gradient(480px 340px at 110% 30%, rgb(var(--accent-rgb)/.18), transparent 60%),
    radial-gradient(520px 360px at 60% 120%, rgb(var(--accent2-rgb)/.16), transparent 62%);
  filter: blur(10px);
  opacity: .75;
  transform: translateZ(-40px);
  animation: authFloat 6.2s ease-in-out infinite;
}

@keyframes authFloat{
  0%,100%{ transform: translate3d(0,0,-40px); }
  50%{ transform: translate3d(12px,-10px,-40px); }
}

.auth-hero-mid{ margin-top: 14px; }
.auth-title{
  margin: 0;
  font-size: clamp(1.15rem, 1.1rem + .6vw, 1.65rem);
  line-height: 1.15;
}
.auth-lead{ margin: 10px 0 0; }

.auth-features{
  margin-top: 14px;
  display:grid;
  gap: 10px;
}

.auth-feature{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 10px 10px;
  border-radius: 18px;
  border: 1px solid rgb(255 255 255 / .10);
  background: linear-gradient(135deg, rgb(255 255 255 / .06), transparent);
  transition: transform var(--t), border-color var(--t);
}

.auth-feature i{
  width: 18px;
  height: 18px;
  margin-top: 2px;
  opacity: .9;
}

.auth-feature strong{ display:block; }
.auth-feature span{ display:block; margin-top: 2px; }

.auth-feature:hover{
  transform: translateY(-2px);
  border-color: rgb(var(--accent-rgb)/.28);
}

.auth-hero-bot{
  margin-top: 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.auth-credit{
  display:flex;
  gap: 6px;
  align-items:center;
  font-size: .95rem;
}

.auth-link{
  color: rgb(var(--accent-rgb));
  text-decoration: none;
  font-weight: 800;
  border-bottom: 1px dashed rgb(var(--accent-rgb)/.45);
  transition: opacity var(--t);
}
.auth-link:hover{ opacity: .85; }

/* CARD FORM */
.auth-card{
  padding: 18px;
  transform-style: preserve-3d;
}

.auth-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.auth-head-right{
  display:flex;
  gap:8px;
  align-items:center;
}

.auth-theme-toggle .mhd-theme__track{
  --w: 128px;
  --h: 36px;
  --thumb: 28px;
}

.auth-head-left{
  display:flex;
  align-items:center;
  gap: 12px;
}

.auth-avatar-sm{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display:grid;
  place-items:center;
  font-weight: 900;
  background: linear-gradient(135deg, rgb(var(--accent-rgb)/.16), rgb(var(--accent2-rgb)/.12));
  border: 1px solid rgb(255 255 255 / .12);
}

.auth-status{
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgb(255 255 255 / .10);
  background: rgb(255 255 255 / .06);
}

.auth-alert{
  margin-top: 14px;
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 10px 10px;
  border-radius: 18px;
  border: 1px solid rgb(220 38 38 / .22);
  background: rgb(220 38 38 / .06);
}
.auth-alert i{ width: 18px; height: 18px; margin-top: 2px; }
.auth-alert strong{ color: rgb(220 38 38); }
.auth-alert--ok{
  border-color: rgb(34 197 94 / .28);
  background: rgb(34 197 94 / .08);
}
.auth-alert--ok strong{ color: rgb(22 163 74); }

.auth-form{
  margin-top: 16px;
  display:grid;
  gap: 14px;
}

.auth-field{ display:grid; gap: 8px; }

.auth-input{
  position:relative;
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.10);
  background: var(--surface);
  outline: none;
  transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}

.auth-input i{
  width: 18px;
  height: 18px;
  opacity: .75;
}

.auth-input input{
  width: 100%;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 1rem;
  padding: 6px 0;
}

.auth-input:focus-within{
  border-color: rgb(var(--accent-rgb)/.35);
  box-shadow: 0 0 0 4px rgb(var(--accent-rgb)/.12);
  transform: translateY(-1px);
}

.auth-eye{
  border: 0;
  background: transparent;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition: background var(--t), transform var(--t), opacity var(--t);
  opacity: .9;
}
.auth-eye:hover{
  background: rgb(0 0 0 / .04);
  transform: translateY(-1px);
}

.auth-hint{ font-size: .92rem; }

.auth-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.auth-remember{
  display:flex;
  align-items:center;
  gap: 8px;
  user-select: none;
}

.auth-remember input{
  width: 16px;
  height: 16px;
}

.auth-caps{
  display:flex;
  align-items:center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgb(255 255 255 / .10);
  background: rgb(255 255 255 / .06);
}

.auth-caps i{ width: 16px; height: 16px; }

.auth-submit{
  position:relative;
  overflow:hidden;
}

.auth-submit .auth-submit-spin{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 2px solid rgb(255 255 255 / .45);
  border-top-color: transparent;
  display:none;
  margin-left: 10px;
  animation: authSpin .8s linear infinite;
}

@keyframes authSpin{ to{ transform: rotate(360deg); } }

.auth-submit.is-loading{
  opacity: .9;
  pointer-events:none;
  filter: saturate(1.05);
}

.auth-submit.is-loading .auth-submit-spin{ display:inline-block; }
.auth-submit.is-loading .auth-submit-txt{ opacity: .95; }

.auth-switch-link{
  justify-self: center;
  border: 0;
  background: transparent;
  color: rgb(var(--accent-rgb));
  cursor: pointer;
  font-size: .92rem;
  font-weight: 800;
  line-height: 1.2;
  padding: 2px 0;
  text-decoration: underline;
  text-decoration-style: dashed;
  text-underline-offset: 3px;
  transition: opacity var(--t), transform var(--t), color var(--t);
}
.auth-switch-link:hover{
  opacity: .9;
  transform: translateY(-1px);
}
.auth-switch-link:focus-visible{
  outline: none;
  border-radius: 8px;
  box-shadow: var(--ring);
}

.auth-foot{
  margin-top: 2px;
  font-size: .92rem;
  opacity: .92;
}

/* Tilt subtle (JS) */
.auth-tilt{
  will-change: transform;
  transition: transform var(--t2);
}

html[data-theme="dark"] .auth-card{
  background: linear-gradient(160deg, rgba(15,23,42,.72), rgba(15,23,42,.38));
  border-color: rgba(148,163,184,.22);
}
html[data-theme="dark"] .auth-hero{
  background: linear-gradient(160deg, rgba(15,23,42,.62), rgba(15,23,42,.34));
  border-color: rgba(148,163,184,.20);
}
html[data-theme="dark"] .auth-status{
  border-color: rgba(148,163,184,.25);
  background: rgba(2,6,23,.38);
}
html[data-theme="dark"] .auth-input{
  border-color: rgba(148,163,184,.24);
  background: rgba(2,6,23,.28);
}
html[data-theme="dark"] .auth-input i{
  opacity: .9;
}
html[data-theme="dark"] .auth-eye:hover{
  background: rgba(148,163,184,.16);
}
html[data-theme="dark"] .auth-switch-link{
  color: rgb(var(--accent2-rgb));
}
html[data-theme="dark"] .auth-caps{
  border-color: rgba(148,163,184,.30);
  background: rgba(2,6,23,.36);
}
html[data-theme="dark"] .auth-feature{
  border-color: rgba(148,163,184,.20);
  background: linear-gradient(140deg, rgba(148,163,184,.10), rgba(2,6,23,.00));
}
html[data-theme="dark"] .auth-alert{
  border-color: rgb(248 113 113 / .38);
  background: rgb(127 29 29 / .30);
}
html[data-theme="dark"] .auth-alert--ok{
  border-color: rgb(74 222 128 / .40);
  background: rgb(20 83 45 / .38);
}

@media (max-width: 980px){
  .auth-head-right{
    width: 100%;
    justify-content: space-between;
    align-items: center;
  }

  .auth-theme-toggle .mhd-theme__track{
    --w: 116px;
    --h: 34px;
    --thumb: 26px;
  }
}

.drawer{
  position: fixed;
  inset: 0;
  z-index: 60;
}

.drawer__panel{
  /* desce o painel pra nÃ£o ficar atrÃ¡s da topbar */
  margin-top: calc(var(--topbar-h) + env(safe-area-inset-top, 0px));
  margin-bottom: env(safe-area-inset-bottom, 0px);

  /* altura mÃ¡xima real disponÃ­vel */
  max-height: calc(100vh - var(--topbar-h) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
  overflow: auto;

  /* se vocÃª usa border-radius grande, isso evita cortar sombra/blur */
  overscroll-behavior: contain;
}

/* opcional: deixa o header do drawer sempre visÃ­vel ao rolar */
.drawer__header{
  position: sticky;
  top: 0;
  z-index: 2;
  backdrop-filter: blur(14px);
}

/* =========================
   Drawer Subcategorias â€” polish + fix "barra branca"
   ========================= */
.drawer__panel{
  overflow: hidden; /* evita retÃ¢ngulo feio vazando */
  border-radius: 18px;
}

/* header do drawer sem bloco branco */
.drawer__header{
  background: transparent !important;
  border-bottom: 1px solid rgba(0,0,0,.06);
  padding: 14px 14px;
}

/* se vocÃª usa sticky header em alguns lugares */
.drawer__header{
  position: sticky;
  top: 0;
  z-index: 2;
  backdrop-filter: blur(14px);
}

/* garante que o body nÃ£o encoste no header e nÃ£o "morda" */
.drawer__body{
  padding-top: 10px;
}

.swatches.mini{
  margin-top: 10px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.swatches.mini .swatch{
  width:22px;
  height:22px;
  border-radius:999px;
  border: 1px solid rgba(0,0,0,.10);
  background: var(--c);
  cursor:pointer;
}
/* =========================
   Drawer Subcategorias â€” layout premium/proporcional
   ========================= */

.drawer__panel{
  max-width: 920px;
  width: min(920px, calc(100vw - 28px));
  margin-inline: auto;
  border-radius: 18px;
  overflow: hidden;
}

.drawer__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 16px 16px;
  background: transparent !important;
  border-bottom: 1px solid rgba(0,0,0,.08);
  position: sticky;
  top: 0;
  z-index: 2;
  backdrop-filter: blur(14px);
}

.drawer__headtxt{ display:flex; flex-direction:column; gap:4px; }
.drawer__title{
  margin:0;
  font-size: 18px;
  line-height: 1.1;
  letter-spacing: .2px;
}
.drawer__sub{
  margin:0;
  font-size: 13px;
  opacity: .85;
}

/* bloco criar subcategoria */
.drawer__new{
  display:grid;
  grid-template-columns: 1fr 180px 220px auto;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.35);
}

.drawer__new .field label{ font-size: 12px; opacity:.9; }
.drawer__new .input{
  height: 44px;
  border-radius: 14px;
}

/* coluna "Cor" mais elegante (picker + swatches alinhados) */
.drawer__new .field:last-of-type .input[type="color"]{
  width: 100%;
  max-width: 220px;
  height: 44px;
  padding: 0;
  border-radius: 14px;
}

/* swatches alinhados e menores (nÃ£o â€œpesaâ€ visual) */
.swatches.mini{
  margin-top: 10px;
  display:flex;
  gap: 10px;
  flex-wrap: nowrap;
  align-items:center;
}
.swatches.mini .swatch{
  width: 18px;
  height: 18px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  box-shadow: 0 6px 18px rgba(0,0,0,.10);
}
.swatches.mini .swatch:hover{ transform: translateY(-1px); }

/* botÃ£o adicionar alinhado e com altura igual */
#drawerBtnAdd{
  height: 44px !important;
  border-radius: 14px;
  padding-inline: 14px;
}

/* responsivo (mobile) */
@media (max-width: 820px){
  .drawer__new{
    grid-template-columns: 1fr 1fr;
  }
  #drawerBtnAdd{ grid-column: 1 / -1; }
}
@media (max-width: 520px){
  .drawer__new{
    grid-template-columns: 1fr;
  }
}

/* Confirm modal tweaks */
#confirmModal{
  z-index: 12000;
  align-items: center;
  justify-content: center;
  padding: max(14px, env(safe-area-inset-top, 0px)) 16px max(14px, env(safe-area-inset-bottom, 0px));
}
#confirmModal .modal__dialog{ animation: pop .18s ease; }
#confirmModal .modal__dialog{
  position: relative;
  z-index: 1;
  width: min(560px, calc(100vw - 24px));
  max-height: calc(100dvh - max(24px, calc(var(--topbar-h, 74px) + 24px)));
  margin: 0 auto;
  overflow: hidden;
}
#confirmModal .modal__header{
  position: relative;
  top: auto;
}
@keyframes pop{ from{ transform: translateY(8px) scale(.98); opacity:.0 } to{ transform:none; opacity:1 } }
#confirmModal .btn.danger{ border-color: rgba(220,38,38,.35); }


/* =========================================================
   CHAMADOS â€¢ FORM (Novo/Editar) â€” visual igual print
   Escopo: .page-chamados
   Depende de base.css (tokens/btn/card/input/table)
   ========================================================= */

.page-chamados .ch-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.page-chamados .ch-title{
  margin:0;
  font-size:28px;
  letter-spacing:-.02em;
}
.page-chamados .ch-title-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}
.page-chamados .pill--view{
  border-color: rgb(14 165 233 / .45);
  background: linear-gradient(135deg, rgb(14 165 233 / .18), rgb(14 165 233 / .06));
}
.page-chamados .pill--edit{
  border-color: rgb(var(--accent-rgb) / .55);
  background: linear-gradient(135deg, rgb(var(--accent-rgb) / .24), rgb(var(--accent-rgb) / .10));
  box-shadow: 0 12px 30px rgb(var(--accent-rgb) / .18);
  font-weight: 900;
}
.page-chamados .pill--closed{
  border-color: rgb(148 163 184 / .45);
  background: linear-gradient(135deg, rgb(148 163 184 / .18), rgb(148 163 184 / .06));
}

.page-chamados .ch-closed-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-top:10px;
  padding:10px 14px;
  border-radius:16px;
  border:1px solid rgb(148 163 184 / .30);
  background: linear-gradient(135deg, rgb(241 245 249 / .92), rgb(226 232 240 / .60));
  box-shadow: 0 12px 30px rgb(15 23 42 / .06);
}

.page-chamados .ch-closed-banner__meta{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color: rgb(30 41 59);
  font-weight: 700;
}

.page-chamados .ch-closed-banner__meta i{
  color: rgb(71 85 105);
}

.page-chamados .mhd-reopen-btn{
  border-color: rgb(245 158 11 / .64);
  background: linear-gradient(135deg, rgb(251 191 36 / .95), rgb(249 115 22 / .92));
  color: #fff;
  box-shadow: 0 14px 32px rgb(245 158 11 / .24);
}

.page-chamados .mhd-reopen-btn:hover{
  border-color: rgb(245 158 11 / .86);
  background: linear-gradient(135deg, rgb(245 158 11 / .98), rgb(234 88 12 / .96));
  box-shadow: 0 18px 36px rgb(245 158 11 / .30);
}

.page-chamados .mhd-reopen-btn:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgb(251 191 36 / .22), 0 18px 36px rgb(245 158 11 / .30);
}

html[data-theme="dark"] .page-chamados .ch-closed-banner{
  border-color: rgb(148 163 184 / .22);
  background: linear-gradient(135deg, rgb(30 41 59 / .82), rgb(15 23 42 / .72));
  box-shadow: 0 14px 32px rgb(0 0 0 / .26);
}

html[data-theme="dark"] .page-chamados .ch-closed-banner__meta{
  color: rgb(226 232 240);
}

html[data-theme="dark"] .page-chamados .ch-closed-banner__meta i{
  color: rgb(148 163 184);
}

.page-chamados .ch-head__right{
  display:flex;
  gap:10px;
  align-items:center;
}
@media (max-width: 720px){
  .page-chamados .ch-title-row{ flex-wrap:wrap; }
}

/* =========================
   Inputs de data/hora: Ã­cone visÃ­vel no modo claro
   ========================= */
input[type="date"],
input[type="datetime-local"],
input[type="time"],
input[type="month"],
input[type="week"]{
  color-scheme: light;
}
html[data-theme="dark"] input[type="date"],
html[data-theme="dark"] input[type="datetime-local"],
html[data-theme="dark"] input[type="time"],
html[data-theme="dark"] input[type="month"],
html[data-theme="dark"] input[type="week"]{
  color-scheme: dark;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator,
input[type="week"]::-webkit-calendar-picker-indicator{
  opacity:.85;
  filter: invert(0);
  cursor:pointer;
}
html[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator,
html[data-theme="dark"] input[type="datetime-local"]::-webkit-calendar-picker-indicator,
html[data-theme="dark"] input[type="time"]::-webkit-calendar-picker-indicator,
html[data-theme="dark"] input[type="month"]::-webkit-calendar-picker-indicator,
html[data-theme="dark"] input[type="week"]::-webkit-calendar-picker-indicator{
  opacity:.75;
  filter: invert(1);
}

/* =========================
   GRID DOS CAMPOS (igual print)
   ========================= */

.page-chamados .grid-top{
  display:grid;
  grid-template-columns: 2.1fr 1.1fr .9fr .9fr;
  gap:12px;
}

.page-chamados .grid-row2{
  display:grid;
  grid-template-columns: 1.25fr 1fr 1.7fr;
  gap:12px;
}

.page-chamados .grid-row3{
  display:grid;
  grid-template-columns: .8fr .85fr .9fr 1.1fr 1.1fr;
  gap:12px;
}

@media (max-width: 1100px){
  .page-chamados .grid-top{ grid-template-columns: 1fr 1fr; }
  .page-chamados .grid-row2{ grid-template-columns: 1fr; }
  .page-chamados .grid-row3{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px){
  .page-chamados .grid-top,
  .page-chamados .grid-row3{ grid-template-columns: 1fr; }
}

/* Campo principal â€œkeyâ€ (TÃ­tulo) */
.page-chamados .field--key .input{
  border-color: rgb(var(--accent-rgb) / .32);
  box-shadow:
    0 0 0 1px rgb(var(--accent-rgb) / .08) inset,
    0 0 0 4px rgb(var(--accent-rgb) / .06);
}

/* =========================
   SEARCHSELECT (dot cor + lista premium)
   ========================= */

.page-chamados .searchselect{ position:relative; }

.page-chamados .searchselect .ss-list{
  position:absolute;
  left:0; right:0;
  top: calc(100% + 8px);
  z-index: 100000;
  padding: 8px;
  max-height: 340px;
  overflow:auto;
  display:none;
  border-radius: 14px;
}

.page-chamados .dropdown__item{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 10px;
  border-radius: 12px;
  border:1px solid transparent;
  background: transparent;
  color: inherit;
  cursor:pointer;
  text-align:left;
  transition: transform 160ms var(--ease), border-color 160ms var(--ease), background 160ms var(--ease);
}
.page-chamados .dropdown__item:hover{
  background: rgb(255 255 255 / .04);
  border-color: rgb(255 255 255 / .08);
  transform: translateY(-1px);
}
.page-chamados .dropdown__item.is-active{
  background: rgb(var(--accent-rgb) / .10);
  border-color: rgb(var(--accent-rgb) / .28);
}

.page-chamados .ss-dot{
  width:10px; height:10px;
  border-radius: 999px;
  box-shadow: 0 0 0 3px rgb(255 255 255 / .06);
}
.page-chamados .ss-dot--ghost{
  background: rgb(255 255 255 / .12);
}

.page-chamados .ss-right{
  margin-left:auto;
  font-size: 11px;
  letter-spacing:.08em;
  opacity:.65;
}

.page-chamados .ss-empty{
  padding:10px;
  opacity:.7;
}

/* Dot â€œselecionadoâ€ colado no input */
.page-chamados .ss-picked-dot{
  position:absolute;
  left: 10px;
  top: 38px; /* bate com teu label+input */
  width:10px; height:10px;
  border-radius:999px;
  box-shadow: 0 0 0 3px rgb(255 255 255 / .06);
  pointer-events:none;
}
.page-chamados .ss-input.ss-has-dot{ padding-left: 34px; }

/* Chips multi */
.page-chamados .ss-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.page-chamados .ss-chips .badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgb(255 255 255 / .10);
  background: rgb(255 255 255 / .04);
  cursor:pointer;
  user-select:none;
}

/* =========================
   APONTAMENTOS (callout + editor + tabela)
   ========================= */

.page-chamados .ap-callout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 14px 14px;
  border-radius: 16px;
  border: 1px dashed rgb(var(--accent-rgb) / .35);
  background:
    radial-gradient(900px 260px at 20% 50%, rgb(var(--accent-rgb)/.16), transparent 60%),
    linear-gradient(135deg, rgb(255 255 255 / .05), rgb(255 255 255 / .02));
}

.page-chamados .ap-callout .btn.primary{
  border-radius: 14px;
  padding: 10px 14px;
  box-shadow: 0 14px 28px rgb(var(--accent-rgb) / .14);
}

.page-chamados #ap-form{
  border-radius: 18px;
}

.page-chamados .ap-toolbar{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:6px;
  padding: 8px 10px;
  position: sticky;
  top: calc(var(--topbar-h, 74px) + 10px);
  z-index: 35;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  border-radius: 16px;
  border: 1px solid rgb(148 163 184 / .24);
  background: linear-gradient(180deg, rgb(248 250 252 / .94), rgb(241 245 249 / .92));
  box-shadow: 0 16px 38px rgb(15 23 42 / .10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.page-chamados .ap-toolbar::-webkit-scrollbar{
  display:none;
}
.page-chamados .ap-toolbar button,
.page-chamados .ap-toolbar .btn-file{
  flex:0 0 auto;
  height: 32px;
  min-width: 32px;
  padding: 0 9px;
  border-radius: 10px;
  border: 1px solid rgb(148 163 184 / .26);
  background: linear-gradient(180deg, rgb(255 255 255 / .92), rgb(248 250 252 / .84));
  color: inherit;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 8px 18px rgb(15 23 42 / .05);
  transition: border-color var(--t), background var(--t), transform var(--t), box-shadow var(--t);
}
.page-chamados .ap-toolbar button:hover,
.page-chamados .ap-toolbar .btn-file:hover{
  border-color: rgb(var(--accent-rgb)/.34);
  background: rgb(var(--accent-rgb)/.12);
  box-shadow: 0 10px 20px rgb(var(--accent-rgb) / .10);
}
.page-chamados .ap-toolbar .sep{
  width:1px;
  flex:0 0 1px;
  align-self:stretch;
  background: linear-gradient(180deg, transparent, rgb(148 163 184 / .42), transparent);
  margin: 0 2px;
}
html[data-theme="dark"] .page-chamados .ap-toolbar{
  border-color: rgb(148 163 184 / .22);
  background: linear-gradient(180deg, rgb(15 23 42 / .94), rgb(15 23 42 / .90));
  box-shadow: 0 18px 42px rgb(2 6 23 / .26);
}
html[data-theme="dark"] .page-chamados .ap-toolbar button,
html[data-theme="dark"] .page-chamados .ap-toolbar .btn-file{
  border-color: rgb(148 163 184 / .20);
  background: linear-gradient(180deg, rgb(30 41 59 / .90), rgb(15 23 42 / .94));
}
html[data-theme="dark"] .page-chamados .ap-toolbar .sep{
  background: rgb(148 163 184 / .30);
}
html[data-theme="dark"] .page-chamados .editor mark,
html[data-theme="dark"] #apV_body mark,
html[data-theme="dark"] .page-chamados .ap-body .ap-html mark,
html[data-theme="dark"] .page-chamados .editor [style*="background-color"],
html[data-theme="dark"] #apV_body [style*="background-color"],
html[data-theme="dark"] .page-chamados .ap-body .ap-html [style*="background-color"]{
  color: #111827 !important;
  text-shadow: none;
}
.page-chamados .ap-toolbar .ap-tool--icon{
  width: 32px;
  padding: 0;
}
.page-chamados .ap-toolbar .ap-tool--icon i,
.page-chamados .ap-toolbar .btn-file i{
  width: 15px;
  height: 15px;
  stroke-width: 2.1;
}
.page-chamados .ap-toolbar .ap-tool--img{
  position: relative;
}
.page-chamados .ap-toolbar .ap-tool--img::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:5px;
  height:2px;
  border-radius:999px;
  transform:translateX(-50%);
  background: currentColor;
  opacity:.78;
}
.page-chamados .ap-toolbar .ap-tool--img-sm::after{
  width:8px;
}
.page-chamados .ap-toolbar .ap-tool--img-md::after{
  width:12px;
}
.page-chamados .ap-toolbar .ap-tool--img-lg::after{
  width:16px;
}
.page-chamados .ap-toolbar .ap-tool--img i{
  margin-top:-2px;
}

.page-chamados .editor{
  min-height: 180px;
  padding: 14px;
  outline: none;
  border-radius: 14px;
  line-height: 1.45;
}
.page-chamados .editor:empty:before{
  content: attr(data-placeholder);
  opacity:.55;
}
.page-chamados .editor img.ap-img{
  max-width: 100%;
  border-radius: 12px;
  border: 1px solid rgb(255 255 255 / .10);
  display:block;
  margin: 10px 0;
}

/* lista de apontamentos */
.page-chamados .ap-table-wrap{
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
}
.page-chamados .ap-list-cards{
  display: grid;
  gap: 6px;
}
.page-chamados .ap-card{
  border: 1px solid var(--stroke);
  border-radius: 12px;
  padding: 8px 10px;
  display: grid;
  grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
  grid-template-areas:
    "head head"
    "status preview";
  gap: 6px 8px;
  box-shadow: 0 8px 18px rgb(2 6 23 / .10);
  background: linear-gradient(145deg, rgb(255 255 255 / .07), rgb(255 255 255 / .025));
  content-visibility: auto;
  contain-intrinsic-size: 140px;
}
html:not([data-theme="dark"]) .page-chamados .ap-card{
  background: linear-gradient(145deg, rgb(255 255 255 / .98), rgb(248 250 252 / .94));
}
.page-chamados .ap-card--empty{
  min-height: 58px;
  place-items: center;
  text-align: center;
}
.page-chamados .ap-card__head{
  grid-area: head;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}
.page-chamados .ap-card__meta{
  flex: 1;
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}
.page-chamados .ap-card__meta-item{
  min-width: 110px;
  padding: 4px 7px 5px;
  border: 1px solid rgb(148 163 184 / .14);
  border-radius: 9px;
  background: rgb(255 255 255 / .02);
}
html:not([data-theme="dark"]) .page-chamados .ap-card__meta-item{
  background: rgb(255 255 255 / .76);
}
.page-chamados .ap-card__meta-label,
.page-chamados .ap-card__status-label,
.page-chamados .ap-card__preview-label{
  display: block;
  margin-bottom: 2px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .065em;
  text-transform: uppercase;
  color: var(--muted);
}
.page-chamados .ap-card__meta-item strong,
.page-chamados .ap-card__status-value{
  display: block;
  font-size: .82rem;
  line-height: 1.18;
  color: var(--text);
}
.page-chamados .ap-card__actions{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 5px;
  flex-wrap: wrap;
  flex: 0 0 auto;
}
.page-chamados .ap-card__status{
  grid-area: status;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 7px 8px;
  border: 1px solid rgb(148 163 184 / .14);
  border-radius: 10px;
  background: rgb(255 255 255 / .02);
}
html:not([data-theme="dark"]) .page-chamados .ap-card__status{
  background: rgb(255 255 255 / .72);
}
.page-chamados .ap-card__status .ap-card__status-label{
  margin-bottom: 0;
}
.page-chamados .ap-card__status .ap-card__status-value{
  font-size: .82rem;
}
.page-chamados .ap-card__preview-wrap{
  grid-area: preview;
  position: relative;
  padding: 7px 9px;
  border: 1px solid rgb(148 163 184 / .14);
  border-radius: 10px;
  background: rgb(255 255 255 / .02);
}
html:not([data-theme="dark"]) .page-chamados .ap-card__preview-wrap{
  background: rgb(255 255 255 / .7);
}
.page-chamados .ap-card__preview{
  max-height: 4.9rem;
  overflow: hidden;
  font-size: .84rem;
  line-height: 1.35;
  color: var(--text);
}
.page-chamados .ap-card__preview p,
.page-chamados .ap-card__preview ul,
.page-chamados .ap-card__preview ol,
.page-chamados .ap-card__preview blockquote,
.page-chamados .ap-card__preview pre{
  margin: 0 0 4px;
}
.page-chamados .ap-card__preview p:last-child,
.page-chamados .ap-card__preview ul:last-child,
.page-chamados .ap-card__preview ol:last-child,
.page-chamados .ap-card__preview blockquote:last-child,
.page-chamados .ap-card__preview pre:last-child{
  margin-bottom: 0;
}
.page-chamados .ap-card__preview ul,
.page-chamados .ap-card__preview ol{
  padding-left: 14px;
}
.page-chamados .ap-card__preview blockquote{
  padding-left: 8px;
  border-left: 2px solid rgb(var(--accent-rgb) / .26);
  color: var(--muted);
}
.page-chamados .ap-card__preview code,
.page-chamados .ap-card__preview pre{
  font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
  font-size: .74rem;
}
.page-chamados .ap-card__preview pre{
  white-space: pre-wrap;
  padding: 6px 8px;
  border-radius: 8px;
  background: rgb(15 23 42 / .24);
}
html:not([data-theme="dark"]) .page-chamados .ap-card__preview pre{
  background: rgb(226 232 240 / .55);
}
.page-chamados .ap-card__preview-empty,
.page-chamados .ap-card__preview-media{
  color: var(--muted);
  font-size: .76rem;
}
@media (max-width: 1100px){
  .page-chamados .ap-card__head{
    flex-direction: column;
    align-items: stretch;
  }
  .page-chamados .ap-card__meta{
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .page-chamados .ap-card__actions{
    width: 100%;
    justify-content: flex-end;
  }
}
@media (max-width: 760px){
  .page-chamados .ap-card{
    padding: 10px;
    grid-template-columns: 1fr;
    grid-template-areas:
      "head"
      "status"
      "preview";
  }
  .page-chamados .ap-card__meta{
    grid-template-columns: 1fr;
  }
  .page-chamados .ap-card__actions{
    justify-content: flex-start;
  }
}

/* cards compactos de apontamentos */
.page-chamados #ap-launch-zone{
  display: grid;
  gap: 14px;
}
.page-chamados #ap-launch-zone > #ap-form,
.page-chamados #ap-launch-zone > .ap-table-wrap{
  margin-top: 0 !important;
}
.page-chamados .ap-list-cards{
  gap: 10px;
}
.page-chamados .ap-card{
  display: block;
  padding: 10px 12px;
  contain-intrinsic-size: 92px;
}
.page-chamados .ap-card__row{
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 12px;
  align-items: start;
}
.page-chamados .ap-card__inline{
  min-width: 0;
  display: flex;
  align-items: stretch;
  gap: 8px;
  flex-wrap: wrap;
}
.page-chamados .ap-card__meta-item{
  min-width: 118px;
  max-width: 158px;
  padding: 6px 8px 7px;
  flex: 0 0 auto;
}
.page-chamados .ap-card__meta-item.is-status{
  min-width: 150px;
}
.page-chamados .ap-card__meta-item.is-owner{
  min-width: 164px;
}
.page-chamados .ap-card__summary{
  min-width: 260px;
  flex: 1 1 320px;
  padding: 6px 10px 7px;
  border: 1px solid rgb(148 163 184 / .14);
  border-radius: 10px;
  background: rgb(255 255 255 / .02);
}
html:not([data-theme="dark"]) .page-chamados .ap-card__summary{
  background: rgb(255 255 255 / .72);
}
.page-chamados .ap-card__summary-text{
  display: block;
  min-width: 0;
  overflow: hidden;
  font-size: .84rem;
  line-height: 1.4;
  color: var(--text);
  max-height: calc(1.4em * 2);
}
@media (max-width: 1100px){
  .page-chamados .ap-card__row{
    grid-template-columns: 1fr;
  }
  .page-chamados .ap-card__actions{
    width: 100%;
    justify-content: flex-end;
  }
}
@media (max-width: 760px){
  .page-chamados .ap-card__inline{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-chamados .ap-card__meta-item,
  .page-chamados .ap-card__meta-item.is-status,
  .page-chamados .ap-card__meta-item.is-owner{
    min-width: 0;
    max-width: none;
  }
  .page-chamados .ap-card__summary{
    min-width: 0;
    grid-column: 1 / -1;
  }
}
@media (max-width: 520px){
  .page-chamados .ap-card__inline{
    grid-template-columns: 1fr;
  }
}
.page-chamados .ap-action-btn{
  width: 30px;
  height: 30px;
  min-height: 30px;
  padding: 0;
  border-radius: 9px;
  box-shadow: 0 6px 14px rgb(2 6 23 / .12);
}
.page-chamados .ap-action-btn i,
.page-chamados .ap-action-btn svg{
  color: currentColor;
  stroke: currentColor;
  opacity: .96;
  width: 13px;
  height: 13px;
}
.page-chamados .ap-action-btn.is-view,
.page-chamados .ap-action-btn.is-edit{
  color: var(--text);
}
html[data-theme="dark"] .page-chamados .ap-action-btn.is-view,
html[data-theme="dark"] .page-chamados .ap-action-btn.is-edit{
  border-color: rgb(148 163 184 / .38);
  background: linear-gradient(145deg, rgb(30 41 59 / .72), rgb(15 23 42 / .52));
}
html:not([data-theme="dark"]) .page-chamados .ap-action-btn.is-view,
html:not([data-theme="dark"]) .page-chamados .ap-action-btn.is-edit{
  border-color: rgb(148 163 184 / .34);
  background: linear-gradient(145deg, rgb(255 255 255 / .96), rgb(241 245 249 / .84));
}
.page-chamados .ap-action-btn.is-delete{
  color: #fecaca;
  border-color: rgb(239 68 68 / .38);
  background: linear-gradient(145deg, rgb(220 38 38 / .22), rgb(69 10 10 / .82));
}
html:not([data-theme="dark"]) .page-chamados .ap-action-btn.is-delete{
  color: #991b1b;
  border-color: rgb(239 68 68 / .34);
  background: linear-gradient(145deg, rgb(254 226 226 / .98), rgb(252 165 165 / .92));
}
.page-chamados .ap-action-btn.is-view:hover,
.page-chamados .ap-action-btn.is-view:focus-visible{
  color: #60a5fa;
  border-color: rgb(96 165 250 / .46);
  box-shadow: 0 0 0 3px rgb(59 130 246 / .14), 0 14px 28px rgb(2 6 23 / .28);
}
.page-chamados .ap-action-btn.is-edit:hover,
.page-chamados .ap-action-btn.is-edit:focus-visible{
  color: #fbbf24;
  border-color: rgb(251 191 36 / .46);
  box-shadow: 0 0 0 3px rgb(245 158 11 / .14), 0 14px 28px rgb(2 6 23 / .28);
}
.page-chamados .ap-action-btn.is-delete:hover,
.page-chamados .ap-action-btn.is-delete:focus-visible{
  color: #fff1f2;
  border-color: rgb(248 113 113 / .48);
  background: linear-gradient(145deg, rgb(239 68 68 / .24), rgb(69 10 10 / .9));
  box-shadow: 0 0 0 3px rgb(239 68 68 / .16), 0 14px 28px rgb(2 6 23 / .30);
}
html[data-theme="dark"] .page-chamados .ap-action-btn.is-view:hover,
html[data-theme="dark"] .page-chamados .ap-action-btn.is-view:focus-visible,
html[data-theme="dark"] .page-chamados .ap-action-btn.is-edit:hover,
html[data-theme="dark"] .page-chamados .ap-action-btn.is-edit:focus-visible{
  background: linear-gradient(145deg, rgb(30 41 59 / .72), rgb(15 23 42 / .52));
}
html:not([data-theme="dark"]) .page-chamados .ap-action-btn.is-view:hover,
html:not([data-theme="dark"]) .page-chamados .ap-action-btn.is-view:focus-visible,
html:not([data-theme="dark"]) .page-chamados .ap-action-btn.is-edit:hover,
html:not([data-theme="dark"]) .page-chamados .ap-action-btn.is-edit:focus-visible{
  background: linear-gradient(145deg, rgb(255 255 255 / .96), rgb(241 245 249 / .84));
}
html:not([data-theme="dark"]) .page-chamados .ap-action-btn.is-delete:hover,
html:not([data-theme="dark"]) .page-chamados .ap-action-btn.is-delete:focus-visible{
  color: #7f1d1d;
  background: linear-gradient(145deg, rgb(254 226 226 / .98), rgb(252 165 165 / .92));
}
.page-chamados tr.is-edited{
  background: rgb(var(--accent-rgb)/.06);
}

/* Pills do â€œVer apontamentoâ€ */
.page-chamados .pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgb(255 255 255 / .10);
  background: rgb(255 255 255 / .04);
  font-size: 12px;
}
.page-chamados .pill--client{ border-color: rgb(59 130 246 / .35); }
.page-chamados .pill--internal{ border-color: rgb(34 197 94 / .28); }
.page-chamados .pill--tag{ border-color: rgb(var(--accent-rgb)/.28); }

.page-chamados .badge-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgb(255 255 255 / .10);
  background: rgb(255 255 255 / .04);
  font-size: 12px;
}
.page-chamados .badge-status .dot{
  width:8px; height:8px;
  border-radius: 999px;
  box-shadow: 0 0 0 3px rgb(255 255 255 / .06);
}

/* =========================
   BOTÃ•ES DO RODAPÃ‰ (igual print)
   ========================= */

.page-chamados .ch-actions .btn{
  border-radius: 14px;
  padding: 10px 14px;
}
.page-chamados .ch-actions{
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  margin-top: 10px !important;
  padding-top: 0;
  column-gap: 8px;
  row-gap: 8px;
}
.page-chamados .ch-actions .btn,
.page-chamados .ch-actions a.btn{
  height: 46px;
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: flex-start;
  width: auto;
  flex: 0 0 auto;
  box-sizing: border-box;
  vertical-align: top;
}
.page-chamados .ch-actions button.btn{
  appearance: none;
  -webkit-appearance: none;
}
.page-chamados .btn-transferir{
  border-color: rgb(59 130 246 / .30);
  background: linear-gradient(135deg, rgb(59 130 246 / .14), rgb(59 130 246 / .06));
}
.page-chamados .btn-finalizar{
  border-color: rgb(245 158 11 / .34);
  background: linear-gradient(135deg, rgb(245 158 11 / .18), rgb(245 158 11 / .06));
}
.page-chamados .btn-print{
  border-color: rgb(148 163 184 / .22);
  background: rgb(255 255 255 / .03);
}

/* =========================================================
   SEARCHSELECT (dropdown) â€” VISÃVEL / PREMIUM / COLORIDO
   ========================================================= */
.searchselect{ position:relative; }
.searchselect .ss-input{ padding-right:42px; }
.searchselect::after{
  content:"";
  position:absolute;
  right:12px; top:50%;
  width:18px; height:18px;
  transform:translateY(-50%);
  opacity:.55;
  pointer-events:none;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}

/* Dropdown */
.searchselect .ss-list{
  position:absolute;
  left:0; right:0;
  top:calc(100% + 8px);
  z-index:9999;
  display:none;
  max-height:280px;
  overflow:auto;

  border-radius:14px;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 50px rgba(0,0,0,.12);
  backdrop-filter: blur(10px);
}

/* Quando abrir (o JS vai colocar .open) */
.searchselect.open .ss-list{ display:block; }

/* Itens */
.searchselect .ss-item{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  padding:10px 12px;
  border:0;
  background:transparent;
  text-align:left;
  cursor:pointer;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.searchselect .ss-item:last-child{ border-bottom:0; }
.searchselect .ss-item:hover{
  background: rgba(0,0,0,.04);
}

/* bolinha de cor */
.searchselect .ss-swatch{
  width:12px; height:12px;
  border-radius:999px;
  background: var(--c, rgba(0,0,0,.25));
  box-shadow: 0 0 0 3px rgba(0,0,0,.06);
  flex:0 0 auto;
}

/* Texto */
.searchselect .ss-name{ font-weight:600; }
.searchselect .ss-meta{ margin-left:auto; opacity:.65; font-size:.85rem; }

/* Input â€œselecionado com corâ€ */
.searchselect.has-color .ss-input{
  padding-left:38px;
  box-shadow:
    inset 0 0 0 2px rgba(0,0,0,.06),
    0 0 0 4px rgba(0,0,0,.02);
}
.searchselect.has-color::before{
  content:"";
  position:absolute;
  left:12px; top:50%;
  transform:translateY(-50%);
  width:14px; height:14px;
  border-radius:999px;
  background: var(--ss-color, rgba(0,0,0,.25));
  box-shadow: 0 0 0 4px rgba(0,0,0,.06);
  pointer-events:none;
}

/* Chips (multi) */
.searchselect .ss-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.searchselect .ss-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.85);
  box-shadow: 0 10px 24px rgba(0,0,0,.06);
  font-weight:600;
  font-size:.9rem;
}
.searchselect .ss-chip .x{
  width:18px; height:18px;
  border-radius:999px;
  display:grid; place-items:center;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.03);
  cursor:pointer;
}
.searchselect .ss-chip button[data-x]{
  width:18px;
  height:18px;
  padding:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(0,0,0,.03);
  color: inherit;
  line-height:1;
  cursor:pointer;
}
.searchselect .ss-chip .x:hover{ background: rgba(0,0,0,.06); }
.searchselect .ss-chip button[data-x]:hover{ background: rgba(0,0,0,.06); }
html[data-theme="dark"] .page-chamados-list .searchselect .ss-chip{
  border-color: rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  box-shadow: 0 10px 24px rgba(0,0,0,.22);
}
html[data-theme="dark"] .page-chamados-list .searchselect .ss-chip .x{
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: inherit;
}
html[data-theme="dark"] .page-chamados-list .searchselect .ss-chip button[data-x]{
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: inherit;
}
html[data-theme="dark"] .page-chamados-list .searchselect .ss-chip .x:hover{
  background: rgba(255,255,255,.14);
}
html[data-theme="dark"] .page-chamados-list .searchselect .ss-chip button[data-x]:hover{
  background: rgba(255,255,255,.14);
}
html[data-theme="dark"] #modalTkAdvancedFilters .searchselect[data-name="my_role"] .ss-chip{
  border-color: rgba(255,255,255,.14);
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.94);
}
html[data-theme="dark"] #modalTkAdvancedFilters .searchselect[data-name="my_role"] .ss-chip button[data-x]{
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.14);
}

/* =========================================================
   PILLS / BADGES coloridas (status/prioridade/categoria/tags)
   ========================================================= */
.badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  font-weight:700;
  font-size:.9rem;
  border:1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.85);
}
.badge::before{
  content:"";
  width:10px; height:10px;
  border-radius:999px;
  background: var(--c, rgba(0,0,0,.25));
  box-shadow: 0 0 0 3px rgba(0,0,0,.06);
}

/* se quiser mais "estouro" em status/prioridade */
.badge.strong{
  border-color: color-mix(in srgb, var(--c) 35%, rgba(0,0,0,.08));
  box-shadow: 0 12px 30px rgba(0,0,0,.08);
}



/* =========================================================
   SEARCHSELECT (tickets.js) â€” premium + fix dropdown invisÃ­vel
   - lista sempre visÃ­vel (fundo/borda/sombra)
   - nÃ£o corta por overflow
   - destaque por cor no input + dots maiores p/ status/prioridade
   ========================================================= */

/* evita o dropdown ser cortado por overflow do card/grid */
.page-chamados .card,
.page-chamados .grid-top,
.page-chamados .grid-row3,
.page-chamados form,
.page-chamados .form { overflow: visible !important; }

.searchselect{
  position: relative;
  overflow: visible;
}

/* dot do selecionado (criado via JS) */
.searchselect .ss-picked-dot{
  position:absolute;
  left: 14px;
  top: 38px;            /* ajusta conforme altura do input */
  width: 14px;
  height: 14px;
  border-radius: 999px;
  box-shadow:
    0 0 0 4px rgb(0 0 0 / .08),
    0 10px 26px rgb(0 0 0 / .12);
  opacity: 0;
  pointer-events:none;
  transform: scale(.92);
  transition: opacity var(--t), transform var(--t);
}
.searchselect .ss-picked-dot.on{
  opacity: 1;
  transform: scale(1);
}

/* espaÃ§o no input quando tem dot */
.searchselect.has-color .ss-input{ padding-left: 40px !important; }

/* input com â€œmarcaâ€ de cor (bem sutil e elegante) */
.searchselect.has-color .ss-input{
  border-color: color-mix(in srgb, var(--stroke) 70%, var(--ss) 30%);
  box-shadow: 0 0 0 4px color-mix(in srgb, transparent 82%, var(--ss) 18%);
}

/* DROPDOWN */
.searchselect .ss-list{
  position:absolute;
  left:0; right:0;
  top: calc(100% + 8px);
  z-index: 9999;
  display:none;

  max-height: 320px;
  overflow:auto;

  padding: 8px;
  border-radius: 18px;
  border: 1px solid var(--stroke);

  background: rgba(255,255,255,.96);
  color: var(--text);
  backdrop-filter: blur(12px);
  box-shadow: 0 22px 70px rgba(2,6,23,.18);
}
html[data-theme="dark"] .searchselect .ss-list{
  background: rgba(12,18,28,.90);
  box-shadow: 0 30px 90px rgba(0,0,0,.45);
}

/* se estiver aberto, dÃ¡ â€œprioridadeâ€ no stack */
.searchselect.is-open{ z-index: 99999; }

/* item */
.searchselect .dropdown__item{
  width:100%;
  display:flex;
  align-items:center;
  gap: 10px;

  padding: 10px 10px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  color: var(--text);
  cursor:pointer;
  text-align:left;

  transition: transform var(--t), background var(--t), border-color var(--t);
}

.searchselect .dropdown__item:hover{
  transform: translateY(-1px);
  border-color: rgb(var(--accent-rgb)/.20);
  background: linear-gradient(135deg, rgb(var(--accent-rgb)/.10), transparent);
}

/* dot padrÃ£o */
.searchselect .dropdown__item .dot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--dot, #94a3b8);
  box-shadow: 0 0 0 4px rgb(0 0 0 / .06);
  flex:0 0 auto;
}

/* nome + right */
.searchselect .dropdown__item .name{ font-weight: 900; }
.searchselect .dropdown__item .right{
  margin-left:auto;
  opacity:.72;
  font-size: .86rem;
}

/* =========================
   Destaque MASTER: STATUS e PRIORIDADE
   ========================= */
.searchselect[data-source="status"] .dropdown__item .dot,
.searchselect[data-source="prioridades"] .dropdown__item .dot{
  width: 14px;
  height: 14px;
  box-shadow:
    0 0 0 5px rgb(0 0 0 / .08),
    0 0 22px color-mix(in srgb, transparent 65%, var(--dot) 35%);
}

.searchselect[data-source="status"] .dropdown__item:hover,
.searchselect[data-source="prioridades"] .dropdown__item:hover{
  background:
    radial-gradient(360px 140px at 12% 50%, color-mix(in srgb, transparent 82%, var(--dot) 18%), transparent 65%),
    linear-gradient(135deg, rgb(var(--accent-rgb)/.10), transparent);
}

/* =========================
   SearchSelect (Tickets) â€” compacto / premium
   ========================= */
.searchselect{ position:relative; }
.searchselect .ss-input{ padding-left: 14px; }
.searchselect.has-color .ss-input{ padding-left: 44px; }

.searchselect .ss-picked-swatch{
  position:absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  border-radius: 6px;
  background: transparent;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 0 0 3px rgba(0,0,0,.18) inset;
  opacity: .0;
  transition: opacity var(--t), transform var(--t);
  pointer-events:none;
}
.searchselect.has-color .ss-picked-swatch{
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

/* right/meta dentro do input (ex.: grupo do cliente) */
.searchselect .ss-right{
  position:absolute;
  right: 34px;
  top: 50%;
  transform: translateY(-50%);
  font-size: .85rem;
  font-style: italic;
  color: var(--muted);
  pointer-events:none;
  max-width: 45%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.searchselect.has-right .ss-right::before{
  content: "â€¢";
  margin-right: 6px;
  opacity: .6;
}
.searchselect.has-right .ss-input{ padding-right: 160px; }

.searchselect .ss-list{
  position:absolute;
  z-index: 40;
  left:0; right:0;
  top: calc(100% + 8px);
  padding: 6px;
  border-radius: 14px;
  max-height: 240px;              /* ~5 itens */
  overflow: auto;
  display:none;
}

.searchselect .ss-list::-webkit-scrollbar{ width:10px; }
.searchselect .ss-list::-webkit-scrollbar-thumb{
  background: rgba(255,255,255,.10);
  border-radius: 999px;
}
.searchselect .ss-list::-webkit-scrollbar-track{
  background: rgba(255,255,255,.04);
  border-radius: 999px;
}

.dropdown__item{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  padding: 10px 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: transparent;
  cursor:pointer;
  transition: transform var(--t), background var(--t), border-color var(--t);
}
.dropdown__item:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.10);
  transform: translateY(-1px);
}

.dropdown__item .sw{
  width: 14px;
  height: 14px;
  border-radius: 6px;
  background: var(--sw, #94a3b8);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 0 0 3px rgba(0,0,0,.16) inset;
  flex: 0 0 auto;
}
.dropdown__item .name{ flex: 1; text-align:left; }
.dropdown__item .right{ opacity:.75; font-size: 12px; }

/* =========================
   Apontamento â€” Ã¡rea em andamento (destaque)
   ========================= */
.page-chamados#ticketNew{
  position: relative;
  isolation: auto;
}
.page-chamados#ticketNew.ap-form-open{
  isolation: isolate;
}
.page-chamados#ticketNew .ch-head,
.page-chamados#ticketNew #form-chamado > *{
  transition: opacity .20s ease, filter .20s ease;
}
.page-chamados#ticketNew.ap-form-open .ch-head{
  opacity: .16;
  filter: saturate(.52) brightness(.62);
  pointer-events: none;
}
.page-chamados#ticketNew.ap-form-open #form-chamado > *:not(#ap-launch-zone){
  opacity: .16;
  filter: saturate(.52) brightness(.62);
  pointer-events: none;
}
.page-chamados#ticketNew.ap-form-open #ap-launch-zone{
  position: relative;
  z-index: 2;
  opacity: 1;
  filter: none;
  pointer-events: auto;
}
#ap-form{
  position: relative;
  z-index: 2;
  border: 1px dashed rgba(255,255,255,.22) !important;
  background:
    radial-gradient(520px 220px at 18% 0%, rgb(var(--accent-rgb)/.10), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow: 0 18px 60px rgba(0,0,0,.22);
  transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease;
}
.page-chamados#ticketNew.ap-form-open #ap-form{
  border-color: rgb(var(--accent-rgb)/.46) !important;
  box-shadow:
    0 24px 78px rgb(0 0 0 / .30),
    0 0 0 1px rgb(var(--accent-rgb)/.18) inset;
  transform: translateY(-2px);
}
.ap-label-row{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:6px;
}
.ap-reset{
  border:0;
  background:transparent;
  padding:0;
  font-size:12px;
  font-weight:800;
  color: var(--accent);
  cursor:pointer;
}
.ap-reset:hover{ color: var(--accent2); text-decoration: underline; }
.ap-reset:disabled{
  opacity:.55;
  cursor:not-allowed;
  text-decoration: none;
}

/* toolbar mais bonita */
.ap-toolbar{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  padding: 8px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.10);
}
.ap-toolbar button, .ap-toolbar .btn-file{
  height: 34px;
  padding: 0 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  color: inherit;
  cursor:pointer;
  transition: transform var(--t), background var(--t), border-color var(--t);
}
.ap-toolbar button:hover, .ap-toolbar .btn-file:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.18);
}
.ap-toolbar button.is-active{
  border-color: rgb(var(--accent-rgb)/.52);
  background: rgb(var(--accent-rgb)/.26);
  box-shadow: inset 0 0 0 1px rgb(var(--accent-rgb)/.28);
}
.ap-toolbar button.is-active:hover{
  background: rgb(var(--accent-rgb)/.32);
  border-color: rgb(var(--accent-rgb)/.62);
}
.ap-toolbar .sep{
  width:1px;
  height: 22px;
  background: rgba(255,255,255,.12);
  margin: 0 4px;
}

/* imagens do editor */
.editor img.ap-img{
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.14);
  margin: 6px auto;
  display:block;
}
.page-chamados .editor li img.ap-img,
#apV_body li img.ap-img,
.page-chamados .ap-body .ap-html li img.ap-img{
  display:block;
  max-width: 100%;
  margin: 8px 0;
  vertical-align: top;
}
.page-chamados .editor .ap-media-block,
#apV_body .ap-media-block,
.page-chamados .ap-body .ap-html .ap-media-block{
  display:block;
  width:max-content;
  max-width:100%;
  margin: 8px 0;
}
.page-chamados .editor li .ap-media-block,
#apV_body li .ap-media-block,
.page-chamados .ap-body .ap-html li .ap-media-block{
  margin: 8px 0 8px 2px;
}
.page-chamados .editor .ap-media-block > img.ap-img,
#apV_body .ap-media-block > img.ap-img,
.page-chamados .ap-body .ap-html .ap-media-block > img.ap-img{
  margin: 0;
}
.editor img.ap-img.is-selected{
  outline: 2px solid rgb(var(--accent-rgb)/.85);
  box-shadow: 0 0 0 6px rgb(var(--accent-rgb)/.12);
}

/* =========================
   BotÃµes do form apontamento: cancelar x adicionar
   ========================= */
.page-chamados #ap-form #ap-cancel{
  border-color: rgb(220 38 38 / .62) !important;
  background: linear-gradient(135deg, rgb(220 38 38 / .96), rgb(239 68 68 / .88)) !important;
  color: #fff !important;
  box-shadow: 0 16px 44px rgb(220 38 38 / .25);
}
.page-chamados #ap-form #ap-cancel:hover{
  border-color: rgb(220 38 38 / .74) !important;
  box-shadow: 0 20px 58px rgb(220 38 38 / .34);
}
.page-chamados #ap-form #ap-cancel .kbd-hint{
  border-color: rgb(255 255 255 / .55);
  background: rgb(127 29 29 / .42);
}

.page-chamados #ap-form #ap-save{
  border-color: rgb(34 197 94 / .72) !important;
  background: linear-gradient(135deg, rgb(34 197 94 / .98), rgb(22 163 74 / .94)) !important;
  color: #ecfdf5 !important;
  box-shadow: 0 18px 52px rgb(34 197 94 / .30);
}
.page-chamados #ap-form #ap-save:hover{
  border-color: rgb(34 197 94 / .82) !important;
  box-shadow: 0 22px 68px rgb(34 197 94 / .38);
}
.page-chamados #ap-form #ap-save .kbd-hint{
  border-color: rgb(255 255 255 / .58);
  background: rgb(20 83 45 / .44);
}
/* Resizer flutuante (fora do editor) */
.mhd-imgbox{
  position: fixed;
  z-index: 9999;
  border: 2px solid rgb(var(--accent-rgb)/.85);
  border-radius: 14px;
  box-shadow: 0 0 0 6px rgb(var(--accent-rgb)/.10);
  pointer-events: none;
}
.mhd-imgbox .h{
  position:absolute;
  width: 12px; height: 12px;
  border-radius: 6px;
  background: rgb(var(--accent-rgb)/.95);
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 8px 20px rgba(0,0,0,.35);
  pointer-events: auto;
}
.mhd-imgbox .h[data-dir="nw"]{ left:-6px; top:-6px; cursor:nwse-resize; }
.mhd-imgbox .h[data-dir="ne"]{ right:-6px; top:-6px; cursor:nesw-resize; }
.mhd-imgbox .h[data-dir="sw"]{ left:-6px; bottom:-6px; cursor:nesw-resize; }
.mhd-imgbox .h[data-dir="se"]{ right:-6px; bottom:-6px; cursor:nwse-resize; }
.mhd-imgquick{
  position: fixed;
  z-index: 10000;
  display:flex;
  gap:6px;
  padding: 6px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(15,23,42,.88);
  color: #fff;
  box-shadow: 0 18px 40px rgba(0,0,0,.35);
}
.mhd-imgquick button{
  height: 26px;
  min-width: 26px;
  padding: 0 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.08);
  color: inherit;
  cursor:pointer;
  font-size: 12px;
  font-weight: 700;
}
.mhd-imgquick button:hover{
  background: rgba(255,255,255,.16);
}
.contact-pop{
  position:absolute;
  right:0;
  top: calc(100% + 10px);
  width: min(420px, 92vw);
  padding: 12px;
  z-index: 50;
  border-radius: 16px;
  box-shadow: 0 22px 60px rgba(0,0,0,.35);
}

.contact-pop__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.contact-pop__list{
  display:grid;
  gap:8px;
  max-height: 260px;
  overflow:auto;
  padding-right: 4px;
}

.contact-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  cursor:pointer;
  transition: transform .12s ease, border-color .12s ease;
}
.contact-item:hover{
  transform: translateY(-1px);
  border-color: rgb(var(--accent-rgb)/.35);
}

.contact-item .left{
  display:flex;
  flex-direction:column;
  line-height:1.15;
}
.contact-item .name{ font-weight: 650; }
.contact-item .sub{ font-size: 12px; opacity:.85; }

.contact-item .tag{
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
 /* tÃ­tulo no topo: compacto e alinhado */
  .ch-titlefield{ margin-top:10px; max-width:720px; }
  .ch-subtitle{ margin-top:6px; font-size:12px; opacity:.9; }

  /* grids alinhadas e sem â€œburacÃ£oâ€ */
  .grid-line1{
    display:grid;
    grid-template-columns: 1.45fr 1fr 1fr 1fr;
    gap:12px;
    align-items:start;
  }
  .grid-line2{
    display:grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1.2fr;
    gap:12px;
    align-items:start;
  }

  .field{ display:flex; flex-direction:column; }
  .field-help{
    margin-top:6px;
    min-height:16px; /* deixa todas as colunas alinhadas mesmo com texto diferente */
    display:block;
  }

  /* cliente: label + pill do contato */
  .label-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:6px;
  }
  .client-row{
    display:flex;
    gap:10px;
    align-items:flex-end;
    position:relative;
  }

  /* pill do contato selecionado */
  .contact-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:12px;
    padding:6px 10px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.04);
    opacity:.95;
    white-space:nowrap;
  }
  .contact-pill .x{
    border:0;
    background: transparent;
    cursor:pointer;
    width:18px; height:18px;
    border-radius:8px;
    display:grid; place-items:center;
    opacity:.85;
  }
  .contact-pill .x:hover{ opacity:1; background: rgba(255,255,255,.06); }

  /* tooltip */
  .has-tip{ position:relative; }
  .has-tip.has-tip--portal-open .mhd-tooltip{
    display:none !important;
  }
  .mhd-tooltip{
    display:none;
    position:absolute;
    top: calc(100% + 8px);
    left:0;
    min-width:220px;
    max-width:360px;
    padding:10px 12px;
    border-radius:14px;
    border:1px solid var(--stroke);
    background: rgba(255,255,255,.96);
    box-shadow: var(--shadow2);
    opacity:0;
    transform: translateY(6px);
    pointer-events:none;
    transition: opacity var(--t), transform var(--t);
    z-index:2100;
  }
  html[data-theme="dark"] .mhd-tooltip{
    background: rgba(15,23,42,.92);
  }
  .has-tip:hover .mhd-tooltip,
  .has-tip:focus-within .mhd-tooltip{
    display:block;
    opacity:1;
    transform: translateY(0);
    pointer-events:auto;
  }
  .has-tip.tip-right .mhd-tooltip{ right:0; left:auto; }
  .has-tip.tip-up .mhd-tooltip{
    top:auto;
    bottom: calc(100% + 8px);
    transform: translateY(-6px);
  }
  .mhd-tooltip-portal{
    display:block !important;
    position:fixed !important;
    top:0;
    left:0;
    opacity:1 !important;
    transform:none !important;
    pointer-events:none !important;
    z-index:13050 !important;
  }
  .mhd-tooltip .mhd-tip-title{
    display:block;
    font-weight:800;
    margin-bottom:6px;
  }
  .mhd-tooltip .mhd-tip-row{
    display:flex;
    justify-content:space-between;
    gap:10px;
    font-size:12px;
    padding:2px 0;
  }
  .mhd-tooltip .mhd-tip-row span{ color: var(--muted); }
  .mhd-tooltip .mhd-tip-row b{ font-weight:700; }
.mhd-tooltip .mhd-tip-list{
  display:grid;
  gap:6px;
  margin-top:6px;
  max-height: 220px;
  overflow:auto;
}
  .mhd-tooltip .mhd-tip-item{
    display:flex;
    flex-direction:column;
    gap:2px;
  }
  .mhd-tooltip .mhd-tip-name{ font-weight:700; }
  .mhd-tooltip .mhd-tip-item small{
    color: var(--muted);
    font-size:11px;
  }
  .mhd-tooltip .mhd-tip-more{
    margin-top:6px;
    font-size:11px;
    color: var(--muted);
  }

  /* popover contatos */
  .client-wrap{ position:relative; }
  .contact-pop{
    position:absolute;
    left:0;
    top: calc(100% + 10px);
    width: 380px;
    z-index: 60;
    padding: 12px;
  }
  .contact-pop__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
  }
  .contact-pop__list{
    display:flex;
    flex-direction:column;
    gap:8px;
    max-height: 320px;
    overflow:auto;
    padding-right:4px;
  }
  .contact-item{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px;
    border-radius:12px;
    border:1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.03);
    cursor:pointer;
    transition: transform .15s ease, border-color .15s ease;
  }
  .contact-item:hover{
    transform: translateY(-1px);
    border-color: rgba(34,197,94,.35);
  }
  .contact-item .name{ font-weight:600; }
  .contact-item .sub{ font-size:12px; opacity:.8; margin-top:2px; }
  .contact-item .tag{
    font-size:11px;
    padding:4px 8px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,.12);
    opacity:.9;
    white-space:nowrap;
  }

  /* participantes: chips menores e em 2 colunas, discretos */
  .participants .ss-chips{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:6px;
    margin-top:8px;
  }
  .participants .ss-chip{
    font-size:12px;
    padding:6px 8px;
    border-radius:12px;
  }
  .participants .ss-chip button{
    width:18px; height:18px;
  }

  /* meta: data/hora/role por participante */
  .part-meta{
    margin-top:10px;
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:8px;
  }
  .part-row{
    display:flex;
    gap:8px;
    align-items:center;
    padding:8px 10px;
    border-radius:14px;
    border:1px solid rgba(255,255,255,.10);
    background: rgba(255,255,255,.03);
  }
  .part-row .n{
    font-size:12px;
    font-weight:600;
    min-width: 120px;
    max-width: 160px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .part-row input[type="datetime-local"]{
    height:32px;
    padding:6px 10px;
    border-radius:10px;
    font-size:12px;
  }
  .part-row select{
    height:32px;
    padding:6px 10px;
    border-radius:10px;
    font-size:12px;
  }
  .part-row .rm{
    width:32px; height:32px;
    border-radius:10px;
    border:1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.03);
    cursor:pointer;
    opacity:.9;
  }
  .part-row .rm:hover{
    border-color: rgba(220,38,38,.35);
    opacity:1;
  }

  @media (max-width: 1100px){
    .grid-line1{ grid-template-columns: 1fr 1fr; }
    .grid-line2{ grid-template-columns: 1fr 1fr; }
    .contact-pop{ width:min(92vw, 420px); }
    .participants .ss-chips{ grid-template-columns: 1fr; }
    .part-meta{ grid-template-columns: 1fr; }
  }

  /* =========================
   FIX: hidden SEMPRE some
   ========================= */
[hidden] { display: none !important; }

/* =========================
   NOVO CHAMADO â€” Cliente / Contatos
   ========================= */
.page-chamados .card.form { overflow: visible; } /* evita popover cortado */

.page-chamados .grid-line1 .client-wrap { position: relative; }

.page-chamados .client-row{
  display:flex;
  align-items:center;
  gap:10px;
}

.page-chamados .client-row .icon-btn{
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.page-chamados .label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}

.page-chamados .contact-pill{
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.85);
  font-size:12px;
  white-space:nowrap;
}
.page-chamados .contact-pill .x{
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.85);
  cursor:pointer;
}

/* Popover */
.page-chamados .contact-pop{
  position:absolute;
  left:0;
  top: calc(100% + 10px);
  width: min(540px, 100%);
  z-index: 80;
  padding: 12px;
  border-radius: 16px;
}

.page-chamados .contact-pop__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}

.page-chamados .contact-pop__list{
  max-height: 260px;
  overflow:auto;
  padding-right: 4px;
}

.page-chamados .contact-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  cursor:pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.page-chamados .contact-item:hover{
  transform: translateY(-1px);
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.16);
}
.page-chamados .contact-item .name{ font-weight:700; }
.page-chamados .contact-item .sub{ font-size:12px; opacity:.8; }
.page-chamados .contact-item .tag{
  font-size:11px;
  padding:4px 8px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  opacity:.9;
}

/* =========================
   PARTICIPANTES â€” botÃ£o + modal timeline
   ========================= */
.page-chamados .participants-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.page-chamados .participants-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  font-size:12px;
}

.modal.mhd-modal[aria-hidden="true"]{ display:none; }
.modal.mhd-modal{
  position:fixed;
  inset:0;
  z-index: 12000;
  background: rgba(0,0,0,.55);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding: max(14px, calc(var(--topbar-h, 74px) + 10px), env(safe-area-inset-top, 0px)) 16px max(14px, env(safe-area-inset-bottom, 0px));
}

.mhd-modal .modal__dialog{
  width: min(900px, 96vw);
  max-height: calc(100dvh - max(28px, calc(var(--topbar-h, 74px) + 18px)));
  overflow:auto;
  border-radius: var(--r-modal);
}

.pt-wrap{ padding: 14px; }

.pt-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.pt-timeline{
  margin-top: 14px;
  display:grid;
  gap:10px;
}

.pt-item{
  display:grid;
  grid-template-columns: 44px 1fr;
  gap:10px;
  padding:12px;
  border-radius: 16px;
  border:1px solid var(--stroke2);
  background: var(--surface2);
}

.pt-ava{
  width:44px;height:44px;
  border-radius: 14px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--stroke2);
  background: var(--surface);
  font-weight:800;
}

.pt-main{ min-width: 0; }

.pt-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.pt-name{ font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.pt-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top: 8px;
}
.pt-meta .searchselect{ width:100%; }

.pt-meta input,
.pt-meta select{
  height: 40px;
  border-radius: 12px;
  background: var(--surface);
  border-color: var(--stroke2);
}
.pt-meta select{
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 36px;
  background-image:
    linear-gradient(45deg, transparent 50%, currentColor 50%),
    linear-gradient(135deg, currentColor 50%, transparent 50%),
    linear-gradient(to right, transparent, transparent);
  background-position:
    calc(100% - 18px) 50%,
    calc(100% - 12px) 50%,
    0 0;
  background-size: 6px 6px, 6px 6px, 100% 100%;
  background-repeat: no-repeat;
}
html[data-theme="dark"] .pt-meta select{
  color-scheme: dark;
}

.pt-actions{
  display:flex;
  gap:8px;
  align-items:center;
}

.pt-remove{
  width: 40px;
  height: 40px;
  border-radius: 12px;
  border:1px solid color-mix(in srgb, rgb(220 38 38) 35%, var(--stroke));
  background: color-mix(in srgb, rgb(220 38 38) 14%, var(--surface));
  color: rgb(220 38 38);
  cursor:pointer;
}
html[data-theme="dark"] .pt-remove{
  color: rgb(248 113 113);
}

/* Participants modal: improve contrast for inputs/chips */
#modalParticipants .form-section,
#modalTkParticipants .form-section{
  border-color: var(--stroke2);
  background: var(--surface2);
}
#modalParticipants .searchselect .ss-input,
#modalTkParticipants .searchselect .ss-input{
  background: var(--surface2);
  border-color: var(--stroke2);
}
#modalParticipants .searchselect .ss-chip,
#modalTkParticipants .searchselect .ss-chip{
  background: var(--surface2);
  border-color: var(--stroke2);
  color: var(--text);
}
#modalParticipants .searchselect .ss-chip .x,
#modalTkParticipants .searchselect .ss-chip .x{
  background: color-mix(in srgb, var(--surface) 70%, transparent);
  border-color: var(--stroke2);
}
/* ============ Contato (botÃ£o com indicador) ============ */
.page-chamados .contact-btn{ position:relative; }

.page-chamados .contact-dot{
  position:absolute;
  right: 8px;
  top: 8px;
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: rgba(148,163,184,.85); /* cinza = sem contato */
  box-shadow: 0 0 0 3px rgba(0,0,0,.12);
  opacity: .95;
}

.page-chamados .contact-btn.is-on{
  border-color: rgb(34 197 94 / .35) !important;
  box-shadow: 0 0 0 3px rgb(34 197 94 / .12);
}
.page-chamados .contact-btn.is-on .contact-dot{
  background: rgb(34 197 94); /* verde = tem contato */
  box-shadow: 0 0 0 3px rgb(34 197 94 / .18);
}

/* ============ Participantes (linha) ============ */
.page-chamados .participants-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.page-chamados .participants-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius: 999px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  font-size: 12px;
  white-space: nowrap;
}

/* Chamados â€¢ Cliente + botÃ£o contato alinhado */
.client-row{
  display:flex;
  align-items:stretch;
  gap:10px;
}

.client-row .searchselect{ min-width:260px; }

.contact-btn{
  width: var(--control-h, 44px);
  height: var(--control-h, 44px);
  display:grid;
  place-items:center;
  flex: 0 0 auto;
  border-radius: 14px;
}

.contact-btn i{ width:18px; height:18px; }
.page-chamados .label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:32px; /* reserva altura e nÃ£o â€œpulaâ€ */
}

.page-chamados .contact-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.70);
  transition: opacity .12s ease, transform .12s ease, visibility .12s ease;
  white-space:nowrap;
}

.page-chamados .contact-pill.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform: translateY(-2px);
}
.page-chamados .contact-item{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.70);
  cursor:pointer;
  position:relative;
  text-align:left;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.page-chamados .contact-item:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(0,0,0,.10);
}

.page-chamados .contact-main{ flex:1; min-width:0; }
.page-chamados .contact-name{ font-weight:800; line-height:1.1; }
.page-chamados .contact-sub{ font-size:12px; opacity:.85; margin-top:3px; }

.page-chamados .contact-tag{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.80);
}

.page-chamados .contact-check{
  width:28px;height:28px;
  display:grid;place-items:center;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.85);
  opacity:.2;
  transform: scale(.92);
  transition: opacity .12s ease, transform .12s ease;
}

/* Selecionado */
.page-chamados .contact-item.is-selected{
  border-color: rgb(var(--accent-rgb)/.55);
  box-shadow: 0 0 0 3px rgb(var(--accent-rgb)/.18), 0 16px 30px rgba(0,0,0,.12);
  background: linear-gradient(135deg, rgb(var(--accent-rgb)/.10), rgba(255,255,255,.78));
}

.page-chamados .contact-item.is-selected::before{
  content:"";
  position:absolute;
  left:10px;top:10px;bottom:10px;
  width:4px;border-radius:999px;
  background: rgb(var(--accent-rgb)/.85);
}

.page-chamados .contact-item.is-selected .contact-check{
  opacity:1;
  transform: scale(1);
}
/* Cliente: pill nÃ£o pode mexer no layout */
.page-chamados .client-wrap .label-row{
  position: relative;
  padding-right: 180px; /* reserva espaÃ§o visual pro pill sem quebrar */
  min-height: 22px;
}

.page-chamados .client-wrap .contact-pill{
  position: absolute;
  right: 0;
  top: -2px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgb(0 0 0 / .10);
  background: rgb(255 255 255 / .70);
  backdrop-filter: blur(10px);
  transition: opacity .15s ease, transform .15s ease, visibility .15s ease;
  white-space: nowrap;
}

/* quando tema escuro, evita "branco estourado" */
:root[data-theme="dark"] .page-chamados .client-wrap .contact-pill{
  border-color: rgb(255 255 255 / .10);
  background: rgb(255 255 255 / .06);
}

.page-chamados .client-wrap .contact-pill.is-hidden{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-2px);
}
/* Lista de contatos no modal */
.page-chamados #modalContacts .modal__dialog{
  border: 1px solid color-mix(in srgb, var(--stroke) 74%, rgb(var(--accent-rgb)) 26%);
  background:
    radial-gradient(1100px 520px at 90% 120%, rgb(var(--accent-rgb) / .18), transparent 60%),
    radial-gradient(820px 420px at 10% -10%, rgb(14 165 233 / .14), transparent 62%),
    linear-gradient(165deg, rgba(12,22,38,.92), rgba(10,18,32,.86));
}
.page-chamados #modalContacts .modal__header{
  border-bottom: 1px solid color-mix(in srgb, var(--stroke) 72%, rgba(255,255,255,.14));
  background: linear-gradient(180deg, rgba(25,38,64,.86), rgba(12,22,38,.72));
}
.page-chamados #modalContacts .modal__footer{
  border-top: 1px solid color-mix(in srgb, var(--stroke) 72%, rgba(255,255,255,.14));
  background: linear-gradient(180deg, rgba(12,22,38,.14), rgba(12,22,38,.36));
}
:root:not([data-theme="dark"]) .page-chamados #modalContacts .modal__dialog{
  border-color: color-mix(in srgb, var(--stroke) 84%, rgb(var(--accent-rgb)) 16%);
  background:
    radial-gradient(980px 440px at 96% 124%, rgb(var(--accent-rgb) / .14), transparent 60%),
    radial-gradient(740px 360px at 0% 0%, rgb(14 165 233 / .12), transparent 62%),
    linear-gradient(165deg, rgb(255 255 255 / .98), rgb(246 250 255 / .96));
  box-shadow: 0 28px 70px rgb(15 23 42 / .20);
}
:root:not([data-theme="dark"]) .page-chamados #modalContacts .modal__header{
  border-bottom-color: color-mix(in srgb, var(--stroke) 86%, rgba(2,6,23,.12));
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(244,248,255,.88));
}
:root:not([data-theme="dark"]) .page-chamados #modalContacts .modal__footer{
  border-top-color: color-mix(in srgb, var(--stroke) 86%, rgba(2,6,23,.12));
  background: linear-gradient(180deg, rgba(244,248,255,.62), rgba(236,244,255,.86));
}
.page-chamados .contact-list{
  display:grid;
  gap:10px;
  max-height: min(38vh, 340px);
  overflow:auto;
  padding-right: 2px;
}
.page-chamados .contact-list-head{
  margin-top: 2px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  color: var(--muted);
}

.page-chamados .contact-item{
  width:100%;
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgb(0 0 0 / .10);
  background: rgb(255 255 255 / .72);
  text-align:left;
  cursor:pointer;
  position:relative;
  z-index:0;
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease, background .14s ease;
}
.page-chamados .contact-item:focus-visible{
  outline: none;
  box-shadow: var(--ring);
}

:root[data-theme="dark"] .page-chamados .contact-item{
  border-color: rgb(255 255 255 / .10);
  background: rgb(255 255 255 / .05);
}

.page-chamados .contact-item:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 30px rgb(0 0 0 / .10);
  z-index:3;
}

/* conteÃºdo */
.page-chamados .contact-main{ flex:1; min-width:0; }
.page-chamados .contact-name{ font-weight:800; line-height:1.1; }
.page-chamados .contact-sub{ font-size:12px; opacity:.8; margin-top:3px; }
.page-chamados .contact-item__actions{
  display:flex;
  align-items:center;
  gap:8px;
  overflow: visible;
}
.page-chamados .contact-item__actions .btn{
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.page-chamados .contact-item__edit{
  min-height: 30px;
  padding: 0 10px;
}
.page-chamados .contact-item__assoc{
  min-height: 30px;
  height: 30px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
  overflow: hidden;
  isolation: isolate;
}
.page-chamados .contact-item__assoc i{
  width: 14px;
  height: 14px;
}
.page-chamados .contact-item-system{
  border-style: dashed;
}
.page-chamados .contact-more-btn{
  justify-self: center;
  min-width: 220px;
}

/* tag */
.page-chamados .contact-tag{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgb(0 0 0 / .10);
  background: rgb(255 255 255 / .55);
}
:root[data-theme="dark"] .page-chamados .contact-tag{
  border-color: rgb(255 255 255 / .10);
  background: rgb(255 255 255 / .06);
}

/* check "radio" elegante */
.page-chamados .contact-check{
  width:30px;height:30px;
  display:grid;place-items:center;
  border-radius:999px;
  border:1px solid rgb(0 0 0 / .14);
  background: rgb(255 255 255 / .55);
  opacity:.45;
  transition: opacity .14s ease, transform .14s ease, border-color .14s ease, background .14s ease;
}
:root[data-theme="dark"] .page-chamados .contact-check{
  border-color: rgb(255 255 255 / .14);
  background: rgb(255 255 255 / .06);
}

/* SELECIONADO: borda + glow + barra lateral (sem pintar tudo) */
.page-chamados .contact-item.is-selected{
  border-color: rgb(var(--accent-rgb) / .55);
  box-shadow: 0 0 0 3px rgb(var(--accent-rgb) / .16), 0 18px 34px rgb(0 0 0 / .12);
  background: rgb(var(--accent-rgb) / .07);
}
:root[data-theme="dark"] .page-chamados .contact-item.is-selected{
  background: rgb(var(--accent-rgb) / .10);
}

.page-chamados .contact-item.is-selected::before{
  content:"";
  position:absolute;
  left:10px; top:10px; bottom:10px;
  width:4px;
  border-radius:999px;
  background: rgb(var(--accent-rgb) / .95);
}

.page-chamados .contact-item.is-selected .contact-check{
  opacity:1;
  transform: scale(1.02);
  border-color: rgb(var(--accent-rgb) / .65);
  background: rgb(var(--accent-rgb) / .18);
}

/* NAVEGAÃ‡ÃƒO POR TECLADO: item ativo (setas), sem confundir com selecionado */
.page-chamados .contact-item.is-active:not(.is-selected){
  border-color: rgb(var(--accent-rgb) / .46);
  background: rgb(var(--accent-rgb) / .06);
  box-shadow: 0 0 0 2px rgb(var(--accent-rgb) / .14), 0 12px 24px rgb(2 6 23 / .10);
}
:root[data-theme="dark"] .page-chamados .contact-item.is-active:not(.is-selected){
  background: rgb(var(--accent-rgb) / .12);
  box-shadow: 0 0 0 2px rgb(var(--accent-rgb) / .22), 0 14px 28px rgb(0 0 0 / .34);
}
.page-chamados .contact-item.is-active:not(.is-selected) .contact-check{
  opacity:.9;
  border-color: rgb(var(--accent-rgb) / .52);
  background: rgb(var(--accent-rgb) / .14);
}
.page-chamados .contact-item.contact-item-create{
  border-style: dashed;
  border-color: rgb(var(--accent-rgb) / .45);
  background: rgb(var(--accent-rgb) / .08);
}
.page-chamados .contact-item.contact-item-create .contact-name{
  font-weight: 800;
}
.page-chamados .contact-item.contact-item-create .contact-check{
  opacity: 1;
  border-color: rgb(var(--accent-rgb) / .55);
  background: rgb(var(--accent-rgb) / .16);
}
.page-chamados #contactSelectedPill{
  border:1px solid rgb(var(--accent-rgb)/.25);
  background: rgb(var(--accent-rgb)/.08);
}
:root[data-theme="dark"] .page-chamados #contactSelectedPill{
  background: rgb(var(--accent-rgb)/.10);
  border-color: rgb(var(--accent-rgb)/.28);
}

/* Ajuste de contraste no modo claro (modal de contatos) */
:root:not([data-theme="dark"]) #modalContacts .contact-item{
  background: #fff;
  border-color: rgba(11,18,32,.14);
  color: var(--text);
  box-shadow: 0 6px 16px rgba(2,6,23,.06);
}
:root:not([data-theme="dark"]) #modalContacts .contact-sub{
  color: rgba(11,18,32,.72);
}
:root:not([data-theme="dark"]) #modalContacts .contact-tag{
  background: rgba(11,18,32,.04);
  border-color: rgba(11,18,32,.12);
  color: var(--text);
}
:root:not([data-theme="dark"]) #modalContacts .contact-check{
  background: #fff;
  border-color: rgba(11,18,32,.18);
  opacity:.6;
}
:root:not([data-theme="dark"]) #modalContacts .contact-item.is-selected{
  background: rgb(var(--accent-rgb)/.10);
  box-shadow: 0 0 0 3px rgb(var(--accent-rgb)/.16), 0 16px 30px rgba(2,6,23,.10);
}
:root:not([data-theme="dark"]) #modalContacts .contact-item.is-selected .contact-check{
  background: rgb(var(--accent-rgb)/.18);
}
:root:not([data-theme="dark"]) #modalContacts .contact-item.is-active:not(.is-selected){
  background: rgb(var(--accent-rgb)/.10);
  border-color: rgb(var(--accent-rgb)/.42);
  box-shadow: 0 0 0 2px rgb(var(--accent-rgb)/.16), 0 14px 24px rgba(2,6,23,.12);
}
:root:not([data-theme="dark"]) #modalContacts #contactSelectedPill{
  border-color: rgb(var(--accent-rgb)/.35);
  background: rgb(var(--accent-rgb)/.10);
}
.page-chamados .client-wrap .label-row{
  position: relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-right: 10px; /* nÃ£o reserva mais buracÃ£o */
  min-height: 22px;
}
.page-chamados .client-wrap .contact-pill{
  margin-left:auto;              /* empurra pro canto direito */
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:5px 10px;              /* menor */
  border-radius:999px;
  border:1px solid var(--stroke2);
  background: color-mix(in srgb, var(--surface) 72%, var(--bg)); /* contraste no claro */
  color: var(--text);
  max-width: 360px;              /* nÃ£o estoura */
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  box-shadow: 0 8px 20px rgb(2 6 23 / .08);
}

/* no dark: usa surface + stroke, sem â€œbranco estouradoâ€ */
html[data-theme="dark"] .page-chamados .client-wrap .contact-pill{
  background: color-mix(in srgb, var(--surface) 85%, black);
  box-shadow: 0 10px 26px rgb(0 0 0 / .40);
}

.page-chamados .client-wrap .contact-pill .x{
  border:0;
  background: transparent;
  color: inherit;
  opacity:.7;
  cursor:pointer;
  font-size:16px;
  line-height:1;
  padding:0 4px;
}

.page-chamados .client-wrap .contact-pill .x:hover{ opacity:1; }

/* esconder sem mexer na altura */
.page-chamados .client-wrap .contact-pill.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.page-chamados .client-wrap .label-row{
  min-height: 34px; /* altura fixa, nÃ£o pula */
}
/* Novo chamado: descriÃ§Ã£o inicial mais baixinha */
.page-chamados #desc-inicial{
  min-height: 44px;
  max-height: 96px;
  overflow:auto;
  resize:none;
}
/* =========================================
   Tickets â€¢ Agendamento no tÃ­tulo
   ========================================= */
.page-chamados .ch-titlefield-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.page-chamados .ch-schedule-mini{
  display:flex;
  align-items:center;
  gap:10px;
  padding:6px 10px;
  border:1px solid var(--stroke);
  border-radius:999px;
  background: linear-gradient(135deg, var(--surface), var(--surface2));
  box-shadow: var(--shadow2);
}

.page-chamados .mhd-switch{
  position:relative;
  display:inline-flex;
  align-items:center;
}

.page-chamados .mhd-switch input{
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  pointer-events:none;
}

.page-chamados .mhd-switch-ui{
  width:46px;
  height:26px;
  border-radius:999px;
  border:1px solid var(--stroke2);
  background: rgba(0,0,0,.06);
  position:relative;
  transition: 180ms var(--ease);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}

html[data-theme="dark"] .page-chamados .mhd-switch-ui{
  background: rgba(255,255,255,.06);
}

.page-chamados .mhd-switch-ui::after{
  content:"";
  position:absolute;
  top:50%;
  left:4px;
  width:18px;
  height:18px;
  transform: translateY(-50%);
  border-radius:999px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 26px rgba(2,6,23,.18);
  transition: 180ms var(--ease);
}

.page-chamados .mhd-switch input:checked + .mhd-switch-ui{
  background: rgb(var(--accent-rgb) / .20);
  border-color: rgb(var(--accent-rgb) / .35);
}

.page-chamados .mhd-switch input:checked + .mhd-switch-ui::after{
  left:24px;
  background: rgb(var(--accent2-rgb) / .95);
}
/* TÃ­tulo + agendar inline */
.ch-titlefield-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.ch-schedule-inline{
  display:flex;
  align-items:center;
  gap:10px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  backdrop-filter: blur(10px);
}

.ch-schedule-inline .input{
  height:44px; /* se teu control-h for 44, fica perfeito */
}

.is-hidden{ display:none !important; }
/* ===== Header: TÃ­tulo + Agendar (lado a lado) ===== */
.ch-titlefield-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:nowrap;
}

.ch-title-input{
  flex:1 1 760px;     /* tÃ­tulo cresce e manda */
  min-width:520px;    /* evita esmagar */
}

/* Agendar sem â€œcardâ€/fundo alto */
.ch-schedule{
  flex:0 0 auto;      /* nÃ£o encolhe, fica fixo na direita */
  display:flex;
  align-items:center;
  gap:10px;
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
  border-radius:0;
}

/* Mesmo tamanho visual do input */
.ch-title-input,
.ch-schedule-dt{
  height:var(--control-h, 44px);
}

/* datetime sÃ³ aparece quando ligar */
.ch-schedule-dt{
  display:none;
  width:240px;
  min-width:240px;
}

/* quando ON: mostra e abre pro lado (nÃ£o aumenta altura) */
.ch-schedule.is-on .ch-schedule-dt{
  display:block;
}

/* responsivo: em telas pequenas, deixa quebrar sem ficar feio */
@media (max-width: 820px){
  .ch-titlefield-row{ flex-wrap:wrap; }
  .ch-title-input{ min-width:100%; flex:1 1 100%; }
  .ch-schedule{ width:100%; justify-content:flex-end; }
  .ch-schedule-dt{ width:min(320px, 100%); min-width:0; }
}
/* =========================
   THEME TOGGLE (MHD) â€” Premium / Neon / EstÃ¡vel
   Requer tokens: --accent-rgb, --accent2-rgb, --stroke, --t, --t2
   ========================= */

.mhd-theme{
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  -webkit-tap-highlight-color: transparent;
}

/* Track */
.mhd-theme__track{
  --w: 148px;
  --h: 40px;
  --p: 4px;
  --thumb: 32px;
  --shift: calc(var(--w) - (var(--p) * 2) - var(--thumb));

  position: relative;
  width: var(--w);
  height: var(--h);
  border-radius: 999px;
  border: 1px solid var(--stroke);

  display:flex;
  align-items:center;
  justify-content:center;

  background:
    radial-gradient(120px 60px at 30% 35%, rgba(255,255,255,.55), transparent 60%),
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.03));
  box-shadow:
    0 12px 26px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.35);

  transition: border-color var(--t), box-shadow var(--t), background var(--t), transform var(--t);
}

html[data-theme="dark"] .mhd-theme__track{
  background:
    radial-gradient(120px 60px at 70% 35%, rgb(var(--accent-rgb)/.18), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow:
    0 16px 34px rgba(0,0,0,.26),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.mhd-theme:hover .mhd-theme__track{
  border-color: rgb(var(--accent-rgb)/.45);
  box-shadow:
    0 18px 40px rgba(0,0,0,.18),
    0 0 0 4px rgb(var(--accent-rgb)/.10),
    inset 0 1px 0 rgba(255,255,255,.25);
  transform: translateY(-1px);
}

/* Thumb */
.mhd-theme__thumb{
  position:absolute;
  top: var(--p);
  left: var(--p);
  width: var(--thumb);
  height: var(--thumb);
  border-radius: 999px;

  display:grid;
  place-items:center;

  background:
    radial-gradient(18px 18px at 30% 30%, rgba(255,255,255,.95), rgba(255,255,255,.75));
  border: 1px solid rgba(0,0,0,.10);
  box-shadow:
    0 14px 24px rgba(0,0,0,.14),
    0 0 0 0 rgb(var(--accent-rgb)/0);

  transform: translateX(0);
  transition: transform var(--t2), box-shadow var(--t), background var(--t), border-color var(--t);
}

html[data-theme="dark"] .mhd-theme__thumb{
  background:
    radial-gradient(18px 18px at 30% 30%, rgba(0,0,0,.55), rgba(0,0,0,.35));
  border-color: rgba(255,255,255,.14);
  box-shadow:
    0 16px 30px rgba(0,0,0,.32),
    0 0 0 6px rgb(var(--accent2-rgb)/.12);
  transform: translateX(var(--shift));
}

/* Label (texto central com â€œrespiroâ€ pro thumb) */
.mhd-theme__label{
  width:100%;
  text-align:center;
  padding: 0 calc(var(--thumb) + (var(--p) * 2));
  user-select:none;
}

.mhd-theme__text{
  font-weight: 900;
  font-size: .92rem;
  letter-spacing: .2px;
  color: rgba(0,0,0,.72);
  transition: color var(--t);
}

html[data-theme="dark"] .mhd-theme__text{
  color: rgba(255,255,255,.88);
}

/* Ãcones (troca suave sem JS) */
.mhd-theme__ico{
  width: 16px;
  height: 16px;
  pointer-events:none;
  transition: opacity var(--t2), transform var(--t2), filter var(--t2);
}

.mhd-theme__ico--sun{
  opacity: 1;
  transform: rotate(0) scale(1);
  filter: drop-shadow(0 0 10px rgb(var(--accent-rgb)/.18));
}
.mhd-theme__ico--moon{
  opacity: 0;
  transform: rotate(-18deg) scale(.95);
  filter: drop-shadow(0 0 12px rgb(var(--accent2-rgb)/.22));
}

html[data-theme="dark"] .mhd-theme__ico--sun{
  opacity: 0;
  transform: rotate(18deg) scale(.95);
}
html[data-theme="dark"] .mhd-theme__ico--moon{
  opacity: 1;
  transform: rotate(0) scale(1);
}

/* Focus bom (teclado) */
.mhd-theme:focus-visible .mhd-theme__track{
  outline: none;
  border-color: rgb(var(--accent-rgb)/.55);
  box-shadow:
    0 0 0 4px rgb(var(--accent-rgb)/.16),
    0 18px 40px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.20);
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .mhd-theme__track,
  .mhd-theme__thumb,
  .mhd-theme__ico,
  .mhd-theme__text{ transition: none !important; }
}
/* ===== FIX 1: Ã­cones sempre centralizados (sem cair) ===== */
.mhd-theme__thumb{
  position: absolute;            /* garante posiÃ§Ã£o do thumb */
  display: grid;
  place-items: center;
  line-height: 0;                /* evita â€œpuloâ€ de linha */
  color: rgba(0,0,0,.82);        /* COR FORÃ‡ADA pro claro (lucide usa currentColor) */
}

html[data-theme="dark"] .mhd-theme__thumb{
  color: rgba(255,255,255,.92);  /* COR FORÃ‡ADA pro escuro */
}

/* forÃ§a sol e lua a ocuparem a MESMA cÃ©lula do grid */
.mhd-theme__ico{
  grid-area: 1 / 1;
  display: block;
}

/* garante svg certinho (lucide) */
.mhd-theme__thumb svg{
  width: 16px;
  height: 16px;
  display: block;
}
/* =========================
   TICKETS (INDEX) â€” seleÃ§Ã£o + hover premium
   ========================= */
#ticketsPage .table tbody tr{
  transition: background var(--t), transform var(--t), box-shadow var(--t);
}

#ticketsPage .table tbody tr:hover{
  background: rgb(var(--accent-rgb)/.06);
}

#ticketsPage .table tbody tr.is-selected{
  background: rgb(var(--accent-rgb)/.10);
  box-shadow: inset 0 0 0 2px rgb(var(--accent-rgb)/.22);
}

/* pÃ­lulas com mais contraste e â€œcara de sistemaâ€ */
#ticketsPage .pill{
  background: rgba(255,255,255,.55);
  border: 1px solid var(--stroke);
  box-shadow: 0 10px 18px rgba(0,0,0,.06);
}
html[data-theme="dark"] #ticketsPage .pill{
  background: rgba(0,0,0,.22);
  box-shadow: 0 12px 22px rgba(0,0,0,.22);
}

/* dots sempre alinhados */
#ticketsPage .pill .dot{
  display:inline-block;
  vertical-align:middle;
  flex: 0 0 auto;
}
/* =========================
   Chamados â€¢ Listagem (tickets)
   ========================= */
.page-chamados-list .tk-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.page-chamados-list .tk-title{ margin:0; }
.page-chamados-list .tk-subtitle{ margin:6px 0 0; }
.page-chamados-list .tk-kpis{
  display:flex; gap:10px; flex-wrap:wrap;
  margin-top:10px;
}
.page-chamados-list .tk-head__right{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.page-chamados-list .table td{
  word-break: normal;
  overflow-wrap: break-word;
}
.page-chamados-list .tk-ticket-title-link{
  font-weight:800;
  text-decoration:none;
}
.page-chamados-list .tk-ticket-title-link:hover{
  text-decoration:underline;
  text-underline-offset:2px;
}
.page-chamados-list .tk-filters{
  margin-top:14px;
  padding:12px;
  position: relative;
  z-index: 80;
}
.page-chamados-list .tk-filters__grid{
  display:grid;
  gap:12px;
  align-items:end;
}
.page-chamados-list .tk-filters__grid--main{
  grid-template-columns:
    minmax(280px, 2.2fr)
    minmax(250px, 1.35fr)
    minmax(185px, .9fr)
    minmax(170px, .78fr)
    minmax(170px, .85fr);
}
.page-chamados-list .tk-filters__grid--main.is-compact{
  grid-template-columns:
    minmax(320px, 2.4fr)
    minmax(260px, 1.35fr)
    minmax(210px, 1fr);
}
.page-chamados-list .tk-filters__grid--main .searchselect .ss-chips{ margin-top: 0; }
.page-chamados-list .tk-filters__grid--main .searchselect .ss-chips:empty{ display:none; }
.page-chamados-list .tk-filters__grid--main .searchselect .ss-chips:not(:empty){ margin-top: 6px; }
.page-chamados-list .tk-adv-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.page-chamados-list .tk-adv-toggle .tk-adv-toggle__icon--on,
.page-chamados-list .tk-adv-toggle .tk-adv-toggle__txt--on{
  display:none;
}
.page-chamados-list .tk-adv-toggle.is-on{
  border-color: rgb(34 197 94 / .35);
  box-shadow: 0 14px 40px rgb(34 197 94 / .12);
  color: inherit;
  background:
    radial-gradient(260px 120px at 12% 50%, rgb(34 197 94 / .14), transparent 70%),
    linear-gradient(135deg, rgb(34 197 94 / .10), transparent);
}
.page-chamados-list .tk-adv-toggle.is-on .tk-adv-toggle__icon--off,
.page-chamados-list .tk-adv-toggle.is-on .tk-adv-toggle__txt--off{
  display:none;
}
.page-chamados-list .tk-adv-toggle.is-on .tk-adv-toggle__icon--on,
.page-chamados-list .tk-adv-toggle.is-on .tk-adv-toggle__txt--on{
  display:inline-flex;
}
.page-chamados-list .tk-filter-status-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height: 22px;
}
.page-chamados-list .tk-filter-label-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  min-height:22px;
}
.page-chamados-list .tk-sort-toggle{
  min-width:36px;
  width:36px;
  height:36px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.page-chamados-list .tk-sort-toggle .tk-sort-toggle__state{
  position:absolute;
  right:2px;
  bottom:1px;
  font-size:9px;
  font-weight:900;
  letter-spacing:.01em;
  color:rgb(100 116 139 / .95);
  background:rgb(255 255 255 / .88);
  border:1px solid rgb(148 163 184 / .35);
  border-radius:999px;
  padding:1px 5px;
  line-height:1.05;
}
html[data-theme="dark"] .page-chamados-list .tk-sort-toggle .tk-sort-toggle__state{
  background:rgb(15 23 42 / .82);
  border-color:rgb(148 163 184 / .38);
  color:rgb(203 213 225 / .94);
}
.page-chamados-list .tk-sort-toggle[data-dir="asc"]{
  border-color: rgb(14 165 233 / .45);
}
.page-chamados-list .tk-sort-toggle[data-dir="desc"]{
  border-color: rgb(249 115 22 / .45);
}
.page-chamados-list .tk-filter-inline-switch{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.page-chamados-list .tk-filter-inline-switch .muted{
  font-size:12px;
  font-weight:700;
  opacity:.9;
}
.page-chamados-list .tk-filter-inline-switch .mhd-switch{
  transform: scale(.92);
  transform-origin: right center;
}
.page-chamados-list .tk-filters__grid--main .field.span-2{
  grid-column: span 2;
}
.page-chamados-list .tk-filters__grid--adv{
  grid-template-columns: repeat(5, minmax(180px, 1fr));
}
.page-chamados-list .tk-filters__grid--adv2{
  margin-top:10px;
  grid-template-columns: 1.4fr 1fr 1fr 1fr auto;
}
#modalTkAdvancedFilters .modal__dialog{
  width: min(1320px, 97vw);
  max-width: 1320px !important;
}
#modalTkAdvancedFilters .modal__body{
  gap: 14px;
}
#modalTkAdvancedFilters .tk-filters__grid{
  display:grid;
  gap:12px;
  align-items:end;
}
#modalTkAdvancedFilters .tk-filters__grid--adv{
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}
#modalTkAdvancedFilters .tk-filters__grid--adv2{
  margin-top:10px;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
}
#modalTkAdvancedFilters .field.span-2{
  grid-column: span 2;
}
#modalTkAdvancedFilters .searchselect .ss-chips{
  margin-top: 6px;
}
#modalTkAdvancedFilters .searchselect .ss-chips:empty{
  display:none;
}
#modalTkAdvancedFilters .tk-perpage{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
#modalTkAdvancedFilters .mhd-switch{
  margin-top: 8px;
}
.page-chamados-list .tk-filters__actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  flex-direction:row;
}
.page-chamados-list .tk-filters__actions .tk-filter-icon-btn{
  min-width:34px;
  width:34px;
  height:34px;
  padding:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
}
.page-chamados-list .tk-filters__actions .tk-filter-icon-btn i{
  margin:0;
}
.page-chamados-list .tk-filters__actions [data-tk-remember]{
  border-color: rgb(148 163 184 / .40) !important;
  background: linear-gradient(145deg, rgb(148 163 184 / .18), rgb(148 163 184 / .08));
  box-shadow: 0 10px 24px rgb(2 6 23 / .12);
}
.page-chamados-list .tk-filters__actions [data-tk-remember]:hover{
  border-color: rgb(148 163 184 / .62) !important;
}
.page-chamados-list .tk-filters__actions [data-tk-remember] .tk-remember-dot{
  position:absolute;
  width:8px;
  height:8px;
  right:8px;
  top:8px;
  border-radius:999px;
  background:rgb(34 197 94);
  border:1px solid rgb(255 255 255 / .92);
  box-shadow:0 0 0 4px rgb(34 197 94 / .22);
  opacity:0;
  transform:scale(.6);
  transition:opacity var(--t), transform var(--t);
}
.page-chamados-list .tk-filters__actions [data-tk-remember][data-on="1"] .tk-remember-dot{
  opacity:1;
  transform:scale(1);
}
html[data-theme="dark"] .page-chamados-list .tk-filters__actions [data-tk-remember] .tk-remember-dot{
  border-color:rgb(15 23 42 / .95);
}
.page-chamados-list .tk-perpage{ display:flex; flex-direction:column; align-items:flex-end; }
.page-chamados-list .tk-perpage .pp-options{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.page-chamados-list .tk-perpage .pp-item{
  position:relative;
}
.page-chamados-list .tk-perpage .pp-item input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.page-chamados-list .tk-perpage .pp-item span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:34px;
  padding:0 10px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: var(--glass);
  font-weight:700;
  cursor:pointer;
  transition: transform var(--t), border-color var(--t), box-shadow var(--t), background var(--t);
}
.page-chamados-list .tk-perpage .pp-item input:checked + span{
  border-color: rgb(var(--accent-rgb) / .45);
  box-shadow: 0 10px 26px rgb(var(--accent-rgb) / .18);
  background: linear-gradient(135deg, rgb(var(--accent-rgb) / .18), transparent);
}
.page-chamados-list .tk-advanced{
  margin-top:12px;
  padding-top:12px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.page-chamados-list .tk-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:12px;
}
.page-chamados-list .tk-pager{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

.page-chamados-list .tk-ticket-meta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  font-size:13px;
}
.page-chamados-list .tk-ticket-meta > span{
  display:inline-flex;
  align-items:center;
  gap:5px;
}
.page-chamados-list .tk-ticket-meta svg{
  width:14px;
  height:14px;
  opacity:.82;
}

.page-chamados-list .tk-row-actions{
  display:flex;
  gap:6px;
  justify-content:flex-end;
}
.page-chamados-list .tk-row-action-btn{
  width:38px;
  height:38px;
  min-height:38px;
  padding:0;
  border-radius:999px;
}
.page-chamados-list .tk-row-action-btn svg{
  width:16px;
  height:16px;
}
.page-chamados-list .tk-kpi-filter-btn{
  cursor:pointer;
  font: inherit;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
html:not([data-theme="dark"]) .page-chamados-list .tk-kpis .pill{
  color:#0f172a;
  border-color: rgb(100 116 139 / .34);
  background: linear-gradient(145deg, rgb(255 255 255 / .94), rgb(248 250 252 / .86));
  box-shadow: 0 10px 20px rgb(15 23 42 / .08);
}
html:not([data-theme="dark"]) .page-chamados-list .tk-kpi-filter-btn .tk-kpi-filter-hint{
  color:#334155;
  opacity:.95;
}
.page-chamados-list .tk-kpi-filter-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 26px rgba(2, 6, 23, .14);
}
.page-chamados-list .tk-kpi-filter-btn .tk-kpi-filter-hint{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:8px;
  font-size:11px;
  font-weight:700;
  opacity:.8;
}
.page-chamados-list .tk-kpi-filter-btn .tk-kpi-filter-hint svg{
  width:12px;
  height:12px;
}
.page-chamados-list .tk-kpi-attendants-btn{
  cursor:pointer;
}
.page-chamados-list .table tbody td{
  padding: 9px 12px;
  line-height: 1.28;
}
.page-chamados-list .td-number{
  vertical-align: top;
}
.page-chamados-list .tk-number-statuses{
  margin-top:6px;
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.page-chamados-list .tk-number-statuses .pill{
  padding:3px 8px;
  font-size:11px;
  font-weight:700;
}
.page-chamados-list .tk-number-statuses .dot{
  margin-right:2px;
}
.page-chamados-list .tk-schedule-col{
  min-height: 28px;
  display:flex;
  align-items:center;
}
.page-chamados-list .table tbody tr.tk-row--closed{
  background: linear-gradient(135deg, rgb(100 116 139 / .26), rgb(148 163 184 / .14) 58%, rgb(148 163 184 / .08));
}
.page-chamados-list .table tbody tr.tk-row--closed:nth-child(even){
  background: linear-gradient(135deg, rgb(100 116 139 / .30), rgb(148 163 184 / .16) 58%, rgb(148 163 184 / .09));
}
.page-chamados-list .table tbody tr.tk-row--closed td{
  border-bottom-color: rgb(100 116 139 / .40);
}
.page-chamados-list .table tbody tr.tk-row--closed:hover{
  background: linear-gradient(135deg, rgb(71 85 105 / .34), rgb(148 163 184 / .18) 58%, rgb(148 163 184 / .10));
}
.page-chamados-list .table tbody tr.tk-row--closed[data-is-canceled="1"]{
  background: linear-gradient(135deg, rgb(239 68 68 / .20), rgb(239 68 68 / .10) 58%, rgb(239 68 68 / .05));
}
.page-chamados-list .table tbody tr.tk-row--closed[data-is-canceled="1"] td{
  border-bottom-color: rgb(239 68 68 / .30);
}
html[data-theme="dark"] .page-chamados-list .table tbody tr.tk-row--closed{
  background: linear-gradient(135deg, rgb(71 85 105 / .46), rgb(30 41 59 / .34) 60%, rgb(15 23 42 / .22));
}
html[data-theme="dark"] .page-chamados-list .table tbody tr.tk-row--closed:nth-child(even){
  background: linear-gradient(135deg, rgb(71 85 105 / .52), rgb(30 41 59 / .38) 60%, rgb(15 23 42 / .24));
}
html[data-theme="dark"] .page-chamados-list .table tbody tr.tk-row--closed:hover{
  background: linear-gradient(135deg, rgb(100 116 139 / .58), rgb(30 41 59 / .40) 60%, rgb(15 23 42 / .28));
}
html[data-theme="dark"] .page-chamados-list .table tbody tr.tk-row--closed[data-is-canceled="1"]{
  background: linear-gradient(135deg, rgb(239 68 68 / .34), rgb(127 29 29 / .24) 60%, rgb(69 10 10 / .18));
}
.page-chamados-list .tk-ticket-closed{
  margin-top:7px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgb(148 163 184 / .45);
  background: rgb(148 163 184 / .14);
  color:#475569;
  font-size:11px;
  font-weight:800;
  letter-spacing:.02em;
}
.page-chamados-list .tk-ticket-closed svg{
  width:12px;
  height:12px;
}
.page-chamados-list .tk-ticket-closed.is-canceled{
  border-color: rgb(239 68 68 / .45);
  background: rgb(239 68 68 / .12);
  color:#b91c1c;
}
html[data-theme="dark"] .page-chamados-list .tk-ticket-closed{
  color:#dbe7f5;
  background: rgb(148 163 184 / .18);
  border-color: rgb(148 163 184 / .55);
}
html[data-theme="dark"] .page-chamados-list .tk-ticket-closed.is-canceled{
  color:#fecaca;
  background: rgb(239 68 68 / .22);
  border-color: rgb(248 113 113 / .55);
}

.page-chamados-list .tk-schedule-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid var(--stroke);
  font-size:12px;
  font-weight:700;
}
.page-chamados-list .tk-schedule-chip svg{
  width:13px;
  height:13px;
}
.page-chamados-list .tk-schedule-chip--future{
  color:#16a34a;
  border-color: rgb(22 163 74 / .35);
  background: rgb(22 163 74 / .10);
}
.page-chamados-list .tk-schedule-chip--today{
  color:#f59e0b;
  border-color: rgb(245 158 11 / .42);
  background: rgb(245 158 11 / .14);
}
.page-chamados-list .tk-schedule-chip--past{
  color:var(--muted);
  border-color: rgb(148 163 184 / .32);
  background: rgb(148 163 184 / .10);
  opacity:.88;
}
.page-chamados-list .tk-attendants-kpis{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

/* Pessoas (clientes/contatos) â€” paginaÃ§Ã£o + per_page */
.people-page .tk-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.people-page .tk-title{ margin:0; }
.people-page .tk-subtitle{ margin:6px 0 0; }
.people-page .tk-kpis{
  display:flex; gap:10px; flex-wrap:wrap;
  margin-top:10px;
}
.people-page .tk-head__right{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.people-page .pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  background: rgba(255,255,255,.55);
  border: 1px solid var(--stroke);
  box-shadow: 0 10px 18px rgba(0,0,0,.06);
}
html[data-theme="dark"] .people-page .pill{
  background: rgba(0,0,0,.22);
  box-shadow: 0 12px 22px rgba(0,0,0,.22);
}
.people-page .tk-filters{
  padding:12px;
  position: relative;
  z-index: 80;
}
.people-page .tk-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:12px;
}
.people-page .tk-foot__right{
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.people-page .tk-pager{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.people-page .tk-perpage{ display:flex; flex-direction:column; align-items:flex-end; }
.people-page .tk-perpage .pp-options{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.people-page .tk-perpage .pp-item{ position:relative; }
.people-page .tk-perpage .pp-item input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.people-page .tk-perpage .pp-item span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:34px;
  padding:0 10px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: var(--glass);
  font-weight:700;
  cursor:pointer;
  transition: transform var(--t), border-color var(--t), box-shadow var(--t), background var(--t);
}
.people-page .tk-perpage .pp-item input:checked + span{
  border-color: rgb(var(--accent-rgb) / .45);
  box-shadow: 0 10px 26px rgb(var(--accent-rgb) / .18);
  background: linear-gradient(135deg, rgb(var(--accent-rgb) / .18), transparent);
}

#modalClient .client-modal-tabs,
#modalAccounting .client-modal-tabs,
#modalPlantao .client-modal-tabs{
  --modal-tab-min: 150px;
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--modal-tab-min), 1fr));
  align-items:stretch;
  gap:8px;
  padding:8px;
  border:1px solid var(--stroke);
  border-radius:10px;
  background: color-mix(in srgb, var(--glass) 85%, transparent);
  overflow: hidden;
  max-width: 100%;
}
#modalClient .client-modal-tabs{ --modal-tab-min: 170px; }
#modalAccounting .client-modal-tabs{ --modal-tab-min: 145px; }
#modalPlantao .client-modal-tabs{ --modal-tab-min: 140px; }

#modalClient .client-modal-tabs .btn,
#modalAccounting .client-modal-tabs .btn,
#modalPlantao .client-modal-tabs .btn{
  width: 100%;
  min-width: 0;
  justify-content:center;
  gap: 6px;
  text-align: center;
  white-space: normal;
  line-height: 1.15;
}
#modalClient .client-modal-tabs .btn.is-active,
#modalAccounting .client-modal-tabs .btn.is-active,
#modalPlantao .client-modal-tabs .btn.is-active{
  border-color: rgb(var(--accent-rgb) / .45);
  background: rgb(var(--accent-rgb) / .16);
  color: rgb(var(--accent-rgb));
  box-shadow: 0 10px 24px rgb(var(--accent-rgb) / .12);
}
#modalClient .client-modal-tabs .btn.is-active i,
#modalAccounting .client-modal-tabs .btn.is-active i,
#modalPlantao .client-modal-tabs .btn.is-active i{
  color: rgb(var(--accent-rgb));
}
#modalClient .client-modal-panels,
#modalAccounting .client-modal-panels,
#modalPlantao .client-modal-panels{
  margin-top: 12px;
  display:grid;
  gap:12px;
}
#modalClient .client-modal-panel[hidden],
#modalAccounting .client-modal-panel[hidden],
#modalPlantao .client-modal-panel[hidden]{
  display:none !important;
}

/* Plantao modal compact mode */
#modalPlantao .modal__dialog{
  max-width: 1100px !important;
}
#modalPlantao .modal__header{
  padding: 14px 16px;
}
#modalPlantao .modal__body{
  padding: 12px 14px;
  gap: 10px;
}
#modalPlantao .modal__footer{
  padding: 10px 14px;
}
#modalPlantao .client-modal-tabs{
  grid-template-columns: repeat(auto-fit, minmax(var(--modal-tab-min), 1fr));
  padding: 6px;
  gap: 6px;
}
#modalPlantao .client-modal-tabs .btn{
  width: 100%;
  min-width: 0;
  min-height: 34px;
  height: 34px;
  padding: 0 10px;
  font-size: .92rem;
  line-height: 1;
}
#modalPlantao .client-modal-panels{
  margin-top: 8px;
  gap: 8px;
}
#modalPlantao .form-grid{
  gap: 10px;
}
#modalPlantao .field label{
  margin-bottom: 4px;
}
#modalPlantao .input,
#modalPlantao select.input{
  min-height: 36px;
  height: 36px;
  padding-top: 6px;
  padding-bottom: 6px;
}
#modalPlantao .checkline{
  margin-top: 6px;
}
#modalPlantao .plantao-modal-members{
  gap: 10px;
}
#modalPlantao .plantao-member-head-actions{
  margin-left: auto;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
#modalPlantao .plantao-member-head-actions .plantao-member-hint{
  margin-left: 0;
}
#modalPlantao .section-head h3{
  font-size: 1.05rem;
}
#modalPlantao .section-head p{
  margin-top: 2px !important;
}
#modalPlantao .plantao-member-add{
  margin-top: 6px;
  gap: 10px;
}
#modalPlantao .plantao-member-actions{
  justify-content: flex-start;
}
#modalPlantao .plantao-member-actions .btn,
#modalPlantao .plantao-member-footer .btn{
  min-height: 36px;
  height: 36px;
  padding: 0 12px;
}
#modalPlantao .plantao-member-footer{
  margin-top: 4px;
}
#modalPlantao .plantao-color{
  gap: 6px;
}
#modalPlantao .plantao-color--inline,
#modalPlantaoMember .plantao-color--inline{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap: nowrap;
}
#modalPlantao .plantao-color--inline input[type="color"],
#modalPlantaoMember .plantao-color--inline input[type="color"]{
  width: 76px;
  min-width: 76px;
  height: 34px;
}
#modalPlantao .plantao-color--inline input[type="text"],
#modalPlantaoMember .plantao-color--inline input[type="text"]{
  width: 96px;
  min-width: 96px;
  max-width: 96px;
}
#modalPlantao .plantao-color input[type="text"]{
  max-width: 96px;
}
#modalPlantao .plantao-intervals{
  gap: 6px;
  margin-bottom: 8px;
}
#modalPlantao .plantao-interval-row{
  gap: 6px;
}
#modalPlantao .plantao-interval-row .input{
  min-width: 108px;
}
#modalPlantao .table{
  font-size: .92rem;
}
#modalPlantao .plantao-members-table{
  table-layout: fixed;
}
#modalPlantao .plantao-member-name{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#modalPlantao .plantao-modal-members .table-wrap{
  max-height: min(40vh, 360px);
  overflow: auto;
}
#modalPlantao .table th,
#modalPlantao .table td{
  padding: 8px 10px;
  vertical-align: middle;
}
#modalPlantao #plantaoMembersBody .input,
#modalPlantao #plantaoMembersBody select.input{
  min-height: 34px;
  height: 34px;
}
#modalPlantao .plantao-member-row-actions .btn{
  width: 34px;
  min-width: 34px;
  height: 34px;
  min-height: 34px;
  padding: 0;
}
#modalPlantaoMember .modal__body{
  padding: 12px 14px;
}
#modalPlantaoMember .form-grid{
  gap: 10px;
}
#modalPlantaoMember .input,
#modalPlantaoMember select.input{
  min-height: 36px;
  height: 36px;
}
#modalPlantaoMember .plantao-member-add-modal{
  display:grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px;
  align-items:end;
}
@media (max-width: 980px){
  #modalPlantao .modal__dialog{
    max-width: 96vw !important;
  }
  #modalPlantao .client-modal-tabs{
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  }
  #modalPlantao .client-modal-tabs .btn{
    min-width: 0;
  }
}
@media (max-width: 760px){
  #modalPlantao .plantao-member-add{
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (max-width: 560px){
  #modalPlantao .plantao-member-add{
    grid-template-columns: 1fr;
  }
}

#modalAccounting .accounting-tab-lock{
  margin-top: 10px;
  margin-bottom: 2px;
  border-color: rgb(245 158 11 / .44);
  background: linear-gradient(140deg, rgb(251 191 36 / .20), rgb(249 115 22 / .14));
  color: rgb(146 64 14);
}

.jornada-page .jornada-tabs{
  align-items:center;
}
.jornada-page .jornada-tabs .btn{
  min-width:140px;
  justify-content:center;
}
.jornada-page .jornada-tabs .btn.is-disabled{
  border-color: rgb(148 163 184 / .32);
  color: var(--muted);
  background: linear-gradient(180deg, rgba(148,163,184,.12), rgba(148,163,184,.05));
}
.jornada-page .jornada-tabs .btn.is-disabled:hover{
  transform:none;
}
.jornada-page .jornada-lock-pill{
  border-color: rgb(245 158 11 / .38);
  background: rgb(245 158 11 / .10);
}
.jornada-page .jornada-locked-card{
  border-color: rgb(245 158 11 / .30);
  background:
    radial-gradient(1200px 360px at 12% -8%, rgba(245,158,11,.10), transparent 62%),
    var(--glass);
}
.jornada-page .jornada-locked-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.holiday-page .holiday-panels{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:12px;
}

.holiday-page .holiday-panel{
  padding:12px;
}

.holiday-page .holiday-panel__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.holiday-page .holiday-panel__subtitle{
  margin:6px 0 10px;
}
.holiday-page .seg-tabs [data-tab-btn].primary{
  margin-left: 0;
}
.holiday-page .holiday-filters-actions{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.holiday-page .holiday-filters-actions .btn,
.holiday-page .holiday-filters-actions a.btn{
  min-width: 150px;
  justify-content:center;
}

@media (max-width: 1100px){
  .holiday-page .holiday-panels{
    grid-template-columns: 1fr;
  }
}
@media (max-width: 980px){
  .holiday-page .holiday-filters-actions{
    align-items:flex-start;
    justify-content:flex-start;
  }
}

/* =========================================================
   Contabilidades
   ========================================================= */
.accounting-page .tk-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.accounting-page .tk-head__right{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.accounting-page .actions .btn{
  white-space: nowrap;
}
.accounting-page .table td{
  vertical-align: middle;
}
.accounting-page .tk-foot{
  border-top: 1px dashed var(--stroke);
}

#modalAccountantEditor .modal__body,
#modalAccounting .modal__body,
#modalRelated .modal__body{
  max-height: min(78vh, 880px);
  overflow:auto;
}

#modalAccounting .ac-client-search-grid{
  align-items: end;
}
#modalAccounting .ac-client-search-actions{
  display:flex;
  flex-direction: row;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
}
#modalAccounting .ac-client-search-actions .btn{
  min-height: 34px;
  height: 34px;
  padding: 0 12px;
  white-space:nowrap;
}
#modalAccounting #acClientGroupFilter{
  min-height: var(--control-h);
}
#modalAccounting .ac-client-search-results{
  overflow:auto;
}
#modalAccounting .ac-client-search-table{
  min-width: 760px;
  table-layout: fixed;
}
#modalAccounting .ac-client-search-table thead th{
  position: static;
}
#modalAccounting .ac-client-search-table th,
#modalAccounting .ac-client-search-table td{
  padding: 7px 10px;
  vertical-align: middle;
  line-height: 1.2;
}
#modalAccounting .ac-search-client strong{
  display: block;
  line-height: 1.1;
}
#modalAccounting .ac-search-client-doc{
  display: block;
  margin-top: 2px;
  font-size: 12px;
  line-height: 1.05;
}
#modalAccounting .ac-col-action,
#modalAccounting .ac-search-action-cell{
  width: 190px;
  text-align: center;
  white-space: nowrap;
}
#modalAccounting .ac-search-action-cell > *{
  vertical-align: middle;
}
#modalAccounting .ac-search-action-cell .btn{
  min-height: 32px;
  height: 32px;
  padding: 0 10px;
}
#modalAccounting .ac-links-table{
  min-width: 860px;
  table-layout: fixed;
}
#modalAccounting .ac-links-table td{
  padding: 6px 10px;
  vertical-align: middle;
  line-height: 1.15;
}
#modalAccounting .ac-links-table th{
  padding: 8px 10px;
}
#modalAccounting .ac-links-table th:last-child,
#modalAccounting .ac-links-table td:last-child{
  width: 120px !important;
  text-align: center;
}
#modalAccounting .ac-link-client strong,
#modalAccounting .ac-link-client-name{
  display:block;
  line-height:1.1;
  max-width: 360px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#modalAccounting .ac-link-client-doc{
  margin-top:2px;
  font-size:12px;
  line-height:1.05;
  max-width: 360px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#modalAccounting .ac-link-track{
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:12px;
}
#modalAccounting .ac-link-actions{
  justify-content:center;
  gap:4px;
  flex-wrap:nowrap;
}
#modalAccounting .ac-links-table tr.is-dirty td{
  background: linear-gradient(135deg, rgb(var(--accent-rgb) / .10), transparent);
}
#modalAccounting .ac-link-icon-btn{
  min-height: 30px;
  min-width: 30px;
  width: 30px;
  height: 30px;
  padding: 0;
  font-size: 0;
}
#modalAccounting .ac-link-icon-btn svg{
  width: 14px;
  height: 14px;
}
#modalAccounting .ac-links-table .searchselect[data-native="1"] .ss-input{
  min-height: 32px;
  padding-top: 4px;
  padding-bottom: 4px;
}

.accounting-related-wrap{
  display:grid;
  gap:10px;
}

@media (max-width: 980px){
  .accounting-page .tk-head{
    flex-direction:column;
    align-items:stretch;
  }
  .accounting-page .tk-head__right{
    justify-content:flex-start;
  }
  #modalAccounting .ac-client-search-actions{
    justify-content:flex-start;
  }
}

/* Acessos â€” header + KPIs */
.access-page .tk-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.access-page .tk-title{ margin:0; }
.access-page .tk-subtitle{ margin:6px 0 0; }
.access-page .tk-kpis{
  display:flex; gap:10px; flex-wrap:wrap;
  margin-top:10px;
}
.access-page .tk-head__right{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.access-page .pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  background: rgba(255,255,255,.55);
  border: 1px solid var(--stroke);
  box-shadow: 0 10px 18px rgba(0,0,0,.06);
}
html[data-theme="dark"] .access-page .pill{
  background: rgba(0,0,0,.22);
  box-shadow: 0 12px 22px rgba(0,0,0,.22);
}
.access-page .tk-filters{
  padding:12px;
  position: relative;
  z-index: 80;
}

/* Acessos â€” paginaÃ§Ã£o + per_page */
.access-page .tk-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:12px;
}
.access-page .tk-foot__right{
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.access-page .tk-pager{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.access-page .tk-perpage{ display:flex; flex-direction:column; align-items:flex-end; }
.access-page .tk-perpage .pp-options{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.access-page .tk-perpage .pp-item{ position:relative; }
.access-page .tk-perpage .pp-item input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.access-page .tk-perpage .pp-item span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:34px;
  padding:0 10px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: var(--glass);
  font-weight:700;
  cursor:pointer;
  transition: transform var(--t), border-color var(--t), box-shadow var(--t), background var(--t);
}
.access-page .tk-perpage .pp-item input:checked + span{
  border-color: rgb(var(--accent-rgb) / .45);
  box-shadow: 0 10px 26px rgb(var(--accent-rgb) / .18);
  background: linear-gradient(135deg, rgb(var(--accent-rgb) / .18), transparent);
}

/* Catalog â€” paginaÃ§Ã£o + per_page */
.catalog .tk-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:12px;
}
.catalog .tk-foot__right{
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.catalog .tk-pager{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.catalog .tk-perpage{ display:flex; flex-direction:column; align-items:flex-end; }
.catalog .tk-perpage .pp-options{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.catalog .tk-perpage .pp-item{ position:relative; }
.catalog .tk-perpage .pp-item input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.catalog .tk-perpage .pp-item span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  height:34px;
  padding:0 10px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: var(--glass);
  font-weight:700;
  cursor:pointer;
  transition: transform var(--t), border-color var(--t), box-shadow var(--t), background var(--t);
}
.catalog .tk-perpage .pp-item input:checked + span{
  border-color: rgb(var(--accent-rgb) / .45);
  box-shadow: 0 10px 26px rgb(var(--accent-rgb) / .18);
  background: linear-gradient(135deg, rgb(var(--accent-rgb) / .18), transparent);
}

/* Tabelas: per_page em select + paginaÃ§Ã£o com bloco de 5 */
:is(.people-page, .access-page, .catalog, .page-chamados-list, .accounting-page) .tk-perpage .tk-perpage-select,
:is(.people-page, .access-page, .catalog, .page-chamados-list, .accounting-page) .tk-perpage .searchselect[data-native="1"]{
  min-width: 94px;
  max-width: 130px;
}
:is(.people-page, .access-page, .catalog, .page-chamados-list, .accounting-page) .tk-perpage .searchselect[data-native="1"]{
  width: min(100%, 130px);
}
:is(.people-page, .access-page, .catalog, .page-chamados-list, .accounting-page) .tk-perpage .searchselect[data-native="1"] .ss-input{
  text-align: center !important;
  font-weight: 700;
  padding-right: 38px;
}
:is(.people-page, .access-page, .catalog, .page-chamados-list, .accounting-page) .tk-page-list{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
:is(.people-page, .access-page, .catalog, .page-chamados-list, .accounting-page) .tk-page-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:36px;
  height:34px;
  padding:0 10px;
  border-radius:12px;
  border:1px solid var(--stroke);
  background: var(--glass);
  color: inherit;
  text-decoration:none;
  cursor:pointer;
  transition: border-color var(--t), box-shadow var(--t), background var(--t), transform var(--t);
}
:is(.people-page, .access-page, .catalog, .page-chamados-list, .accounting-page) .tk-page-btn:hover{
  border-color: rgb(var(--accent-rgb) / .45);
}
:is(.people-page, .access-page, .catalog, .page-chamados-list, .accounting-page) .tk-page-btn.is-active{
  border-color: rgb(var(--accent-rgb) / .45);
  box-shadow: 0 10px 26px rgb(var(--accent-rgb) / .18);
  background: linear-gradient(135deg, rgb(var(--accent-rgb) / .18), transparent);
  font-weight: 800;
  cursor:default;
}
:is(.people-page, .access-page, .catalog, .page-chamados-list, .accounting-page) .tk-page-info{
  text-decoration:none;
  cursor:pointer;
}

.page-chamados-list .tk-actionmenu{
  position:fixed;
  z-index:60;
  display:none;
  min-width:240px;
  padding:10px;
}
.page-chamados-list .table-wrap{
  position:relative;
  z-index: 1;
}
.page-chamados-list .table tbody tr.is-selected{
  background: linear-gradient(135deg, rgb(var(--accent-rgb)/.08), transparent);
}
.page-chamados-list .table tbody tr.is-selected td{
  border-bottom-color: rgb(var(--accent-rgb)/.20);
}

/* Responsivo */
@media (max-width: 1320px){
  .page-chamados-list .tk-head{
    align-items:stretch;
  }
  .page-chamados-list .tk-head__right{
    width:100%;
    justify-content:flex-start;
  }
  .page-chamados-list .table-wrap{
    overflow:visible;
  }
  .page-chamados-list .table.table-mobile-card--tickets thead{
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .page-chamados-list .table.table-mobile-card--tickets tbody{
    display:grid;
    gap:8px;
    padding:8px;
  }
  .page-chamados-list .table.table-mobile-card--tickets tbody tr{
    position:relative;
    display:grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "num actions"
      "title actions"
      "status opened"
      "client resp";
    gap:4px 12px;
    border:1px solid var(--stroke);
    border-radius:14px;
    background:var(--glass);
    box-shadow:var(--shadow2);
    padding:8px 10px 8px 12px;
    overflow:hidden;
  }
  .page-chamados-list .table.table-mobile-card--tickets tbody tr::before{
    content:"";
    position:absolute;
    left:0;
    top:10px;
    bottom:10px;
    width:3px;
    border-radius:999px;
    background:rgb(var(--accent-rgb)/.34);
  }
  .page-chamados-list .table.table-mobile-card--tickets tbody tr[data-is-closed="1"]::before{
    background:rgb(148 163 184 / .76);
  }
  .page-chamados-list .table.table-mobile-card--tickets tbody tr[data-is-canceled="1"]::before{
    background:rgb(239 68 68 / .82);
  }
  .page-chamados-list .table.table-mobile-card--tickets td{
    width:100%;
    border:0;
    padding:1px 0;
    margin:0;
    display:block;
    align-items:flex-start;
  }
  .page-chamados-list .table.table-mobile-card--tickets td::before{
    content:none;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(1){ grid-area:num; }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(2){ grid-area:title; min-width:0; }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(3){ grid-area:client; }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(4){ grid-area:resp; }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(5){ grid-area:status; }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(6){ grid-area:opened; }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(7){
    grid-area:actions;
    justify-self:end;
    align-self:start;
    padding-left:8px;
    border-left:1px dashed var(--stroke);
  }

  .page-chamados-list .table.table-mobile-card--tickets .td-number{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    min-width:0;
  }
  .page-chamados-list .table.table-mobile-card--tickets .td-number strong{
    font-size:20px;
    line-height:1;
    letter-spacing:-.01em;
  }
  .page-chamados-list .table.table-mobile-card--tickets .td-number .tk-ticket-closed{
    margin-top:0;
    padding:2px 6px;
    font-size:10px;
  }
  .page-chamados-list .table.table-mobile-card--tickets .td-number .tk-number-statuses{
    margin-top:0;
    gap:4px;
  }
  .page-chamados-list .table.table-mobile-card--tickets .td-number .tk-number-statuses .pill{
    font-size:10px;
    padding:2px 7px;
  }

  .page-chamados-list .table.table-mobile-card--tickets .td-primary{
    min-width:0;
  }
  .page-chamados-list .table.table-mobile-card--tickets .td-primary .tk-ticket-title-link{
    font-size:1.03rem;
    line-height:1.22;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .page-chamados-list .table.table-mobile-card--tickets .td-primary .tk-ticket-meta{
    margin-top:2px;
    gap:8px;
    font-size:12px;
  }

  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(3) > div,
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(4) > div{
    gap:1px !important;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(3) strong,
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(4) > div > span:first-child{
    font-size:14px;
    font-weight:800;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(3) .muted,
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(4) .muted{
    font-size:12px !important;
  }

  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(5) > div{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap;
    gap:4px !important;
    align-items:center !important;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(5) .tk-schedule-chip{
    padding:3px 8px;
    font-size:11px;
  }

  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(6){
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:4px 10px;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(6) > span{
    font-size:14px;
    font-weight:800;
    line-height:1.2;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(6) > div{
    margin:0;
    font-size:12px !important;
    line-height:1.2;
  }

  .page-chamados-list .table.table-mobile-card--tickets td.td-actions{
    min-width:0;
  }
  .page-chamados-list .table.table-mobile-card--tickets .tk-row-actions{
    justify-content:flex-start;
    flex-wrap:wrap;
    gap:4px;
  }
  .page-chamados-list .table.table-mobile-card--tickets .tk-row-action-btn{
    width:34px;
    height:34px;
    min-height:34px;
  }
}
@media (max-width: 1120px){
  .page-chamados-list .table.table-mobile-card--tickets tbody tr{
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "num num"
      "title title"
      "status opened"
      "client resp";
    gap:2px 10px;
    padding:6px 9px 6px 10px;
    min-height:0;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(1){
    padding-right:146px;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(2){
    padding-right:0;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(3){
    grid-area:client;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(4){
    grid-area:resp;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(5){
    grid-area:status;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(6){
    grid-area:opened;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(7){
    position:absolute;
    top:6px;
    right:8px;
    grid-area:auto;
    justify-self:auto;
    align-self:auto;
    width:auto;
    padding-left:0;
    border-left:0;
  }
  .page-chamados-list .table.table-mobile-card--tickets .td-number{
    gap:3px;
  }
  .page-chamados-list .table.table-mobile-card--tickets .td-number strong{
    font-size:18px;
    line-height:1;
  }
  .page-chamados-list .table.table-mobile-card--tickets .td-number .tk-number-statuses{
    gap:3px;
  }
  .page-chamados-list .table.table-mobile-card--tickets .td-number .tk-number-statuses .pill{
    font-size:10px;
    padding:1px 6px;
  }
  .page-chamados-list .table.table-mobile-card--tickets .td-primary .tk-ticket-title-link{
    font-size:1.01rem;
    line-height:1.18;
    -webkit-line-clamp:1;
  }
  .page-chamados-list .table.table-mobile-card--tickets .td-primary .tk-ticket-meta{
    margin-top:1px;
    gap:6px;
    font-size:11px;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(3) > div,
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(4) > div{
    gap:0 !important;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(3) .muted,
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(4) .muted{
    font-size:11px !important;
    line-height:1.12;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(6){
    gap:2px 8px;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(6) > span{
    font-size:15px;
    line-height:1.12;
  }
  .page-chamados-list .table.table-mobile-card--tickets td:nth-child(6) > div{
    font-size:11px !important;
  }
  .page-chamados-list .table.table-mobile-card--tickets .tk-row-actions{
    gap:3px;
  }
  .page-chamados-list .table.table-mobile-card--tickets .tk-row-action-btn{
    width:30px;
    height:30px;
    min-height:30px;
  }
}
@media (max-width: 980px) and (min-width: 760px){
  .page-chamados-list .tk-filters__grid--main,
  .page-chamados-list .tk-filters__grid--main.is-compact{
    grid-template-columns:
      minmax(230px, 1.05fr)
      minmax(170px, .72fr)
      minmax(210px, .95fr);
    grid-auto-flow: dense;
  }
  .page-chamados-list .tk-filters__grid--main > .field:nth-child(1){ grid-column: 1; }
  .page-chamados-list .tk-filters__grid--main > .field:nth-child(2){ grid-column: 2; }
  .page-chamados-list .tk-filters__grid--main > .tk-field-responsible{ grid-column: 3; }
  .page-chamados-list .tk-filters__grid--main > .tk-field-team{ grid-column: 1 / span 2; }
  .page-chamados-list .tk-filters__grid--main > .field:nth-child(5){ grid-column: 3; }
  .page-chamados-list .tk-filter-status-head{
    align-items:center;
    flex-direction:row;
    gap:8px;
  }
  .page-chamados-list .tk-filter-inline-switch .muted{
    font-size:11px;
  }
  .page-chamados-list .tk-filters__actions{
    justify-content:flex-end;
  }
}
@media (max-width: 759px){
  .page-chamados-list .tk-filters__grid--main{
    grid-template-columns: 1fr;
  }
  .page-chamados-list .tk-filters__grid--main.is-compact{
    grid-template-columns: 1fr;
  }
  .page-chamados-list .tk-filter-status-head{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
  .page-chamados-list .tk-filters__actions{
    justify-content:flex-end;
  }
}
@media (max-width: 980px){
  .page-chamados-list .tk-filters__grid--adv{
    grid-template-columns: 1fr;
  }
  .page-chamados-list .tk-filters__grid--adv2{
    grid-template-columns: 1fr;
  }
  #modalTkAdvancedFilters .tk-filters__grid--adv,
  #modalTkAdvancedFilters .tk-filters__grid--adv2{
    grid-template-columns: 1fr;
  }
  #modalTkAdvancedFilters .field.span-2{
    grid-column: auto;
  }
}
/* Tickets - filtros */
.page-chamados .tk-filters{ overflow: visible; }
.page-chamados .tk-filters .tk-filters__grid{
  display:grid;
  gap:12px;
  align-items:end;
}

.page-chamados .tk-filters__actions{
  display:flex;
  gap:10px;
  justify-content:flex-start;
  flex-wrap:wrap;
}
.page-chamados .tk-filters__actions .btn:not(.tk-filter-icon-btn){
  min-width: 150px;
}
.page-chamados .tk-filters__actions .tk-filter-icon-btn{
  min-width:34px;
}
.page-chamados.page-chamados-list .tk-filters__actions{
  justify-content:flex-end;
  margin-top:10px;
  width:100%;
}

/* SearchSelect na listagem nÃ£o pode ser cortado nem ficar atrÃ¡s */
.page-chamados .searchselect{ position:relative; }
.page-chamados .searchselect .ss-list{
  position:absolute;
  left:0; right:0;
  top:calc(100% + 8px);
  z-index: 160;
  max-height: 280px;
  overflow:auto;
}
.page-chamados .searchselect .ss-chips{ margin-top:8px; }
/* Apontamentos (ver.php) */
.page-chamados .ap-body .ap-html{
  line-height: 1.55;
}
.page-chamados .ap-body img{
  max-width: 100%;
  height: auto;
  border-radius: 14px;
  display:block;
}
.page-chamados .ap-body pre,
.page-chamados .ap-body code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.page-chamados .ap-body pre{
  overflow:auto;
  padding: 12px;
  border-radius: 14px;
  background: rgba(0,0,0,.08);
  border: 1px solid rgba(255,255,255,.10);
}

/* Rich text (apontamentos: editor + modal + view) */
.page-chamados .editor,
#apV_body,
.page-chamados .ap-body .ap-html{
  line-height: 1.6;
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.page-chamados .editor img,
#apV_body img,
.page-chamados .ap-body .ap-html img{
  max-width: 100% !important;
  height: auto !important;
}
.page-chamados .editor table,
#apV_body table,
.page-chamados .ap-body .ap-html table{
  max-width: 100%;
  border-collapse: collapse;
}
.page-chamados .editor .ap-rich-scroll,
#apV_body .ap-rich-scroll,
.page-chamados .ap-body .ap-html .ap-rich-scroll{
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
}
.page-chamados .editor li.has-media,
#apV_body li.has-media,
.page-chamados .ap-body .ap-html li.has-media{
  overflow: visible;
  min-width: 0;
}
.page-chamados .editor p,
#apV_body p,
.page-chamados .ap-body .ap-html p{
  margin: 0 0 10px;
}
.page-chamados .editor ul,
.page-chamados .editor ol,
#apV_body ul,
#apV_body ol,
.page-chamados .ap-body .ap-html ul,
.page-chamados .ap-body .ap-html ol{
  margin: 8px 0 12px;
  padding-left: 20px;
}
.page-chamados .editor li,
#apV_body li,
.page-chamados .ap-body .ap-html li{
  margin: 4px 0;
}
.page-chamados .editor blockquote,
#apV_body blockquote,
.page-chamados .ap-body .ap-html blockquote{
  margin: 10px 0;
  padding: 10px 12px;
  border-left: 4px solid rgb(var(--accent-rgb)/.45);
  background: rgba(255,255,255,.06);
  border-radius: 12px;
}
.page-chamados .editor pre,
#apV_body pre,
.page-chamados .ap-body .ap-html pre{
  margin: 10px 0;
  padding: 14px 16px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(15,23,42,.96), rgba(15,23,42,.90));
  border: 1px solid rgba(148,163,184,.22);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 16px 34px rgba(2,6,23,.16);
  color: #e5eefc;
  font-size: .92em;
  line-height: 1.55;
  display: block;
  width: 100%;
  box-sizing: border-box;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  white-space: pre;
  tab-size: 4;
}
.page-chamados .editor code,
#apV_body code,
.page-chamados .ap-body .ap-html code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: .95em;
  background: rgba(15,23,42,.16);
  border: 1px solid rgba(148,163,184,.16);
  color: #dbeafe;
  padding: 2px 7px;
  border-radius: 8px;
  white-space: pre-wrap;
  word-break: break-word;
}
.page-chamados .editor mark,
#apV_body mark,
.page-chamados .ap-body .ap-html mark,
.page-chamados .editor [style*="background-color"],
#apV_body [style*="background-color"],
.page-chamados .ap-body .ap-html [style*="background-color"]{
  color: #1f2937 !important;
  border-radius: 4px;
  padding: 0 .12em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.page-chamados .editor pre code,
#apV_body pre code,
.page-chamados .ap-body .ap-html pre code{
  display: block;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  white-space: inherit;
  word-break: normal;
}
#apV_body pre.ql-syntax,
.page-chamados .editor pre.ql-syntax,
.page-chamados .ap-body .ap-html pre.ql-syntax{
  max-width: 100% !important;
  overflow-x: auto !important;
  white-space: pre !important;
}

/* Visualizacao de apontamentos (modal + leitura): evitar overflow infinito */
#apV_body,
.page-chamados .ap-body .ap-html{
  line-height: 1.45;
}
#apV_body p,
.page-chamados .ap-body .ap-html p,
#apV_body ul,
#apV_body ol,
.page-chamados .ap-body .ap-html ul,
.page-chamados .ap-body .ap-html ol{
  margin-bottom: 6px;
}
#apV_body li,
.page-chamados .ap-body .ap-html li{
  margin: 2px 0;
}
#apV_body pre,
.page-chamados .ap-body .ap-html pre,
#apV_body pre.ql-syntax,
.page-chamados .ap-body .ap-html pre.ql-syntax{
  white-space: pre !important;
  overflow-x: auto !important;
  overflow-y: hidden;
  word-break: normal;
  overflow-wrap: normal;
  max-width: 100% !important;
  font-size: .90em;
  line-height: 1.5;
  tab-size: 4;
}
#apV_body code,
.page-chamados .ap-body .ap-html code{
  white-space: pre;
  word-break: normal;
  overflow-wrap: normal;
  font-size: .92em;
}
#apV_body pre code,
.page-chamados .ap-body .ap-html pre code{
  white-space: inherit;
  word-break: inherit;
  overflow-wrap: inherit;
}
#apV_body img,
.page-chamados .ap-body .ap-html img{
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  max-height: min(55vh, 560px);
  object-fit: contain;
}
#apV_body .ap-rich-scroll,
.page-chamados .ap-body .ap-html .ap-rich-scroll{
  overflow-x: auto;
  overflow-y: hidden;
  max-width: 100%;
}
#apV_body table,
.page-chamados .ap-body .ap-html table{
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed;
}
#apV_body td,
#apV_body th,
.page-chamados .ap-body .ap-html td,
.page-chamados .ap-body .ap-html th{
  word-break: break-word;
  overflow-wrap: anywhere;
}
#apV_body iframe,
#apV_body video,
#apV_body .ql-video,
.page-chamados .ap-body .ap-html iframe,
.page-chamados .ap-body .ap-html video,
.page-chamados .ap-body .ap-html .ql-video{
  max-width: 100% !important;
  width: 100% !important;
  height: auto !important;
}

.page-chamados .editor pre.ap-code-block,
#apV_body pre.ap-code-block,
.page-chamados .ap-body .ap-html pre.ap-code-block{
  position: relative;
  padding-top: 44px;
}
.page-chamados .editor pre.ap-code-block::before,
#apV_body pre.ap-code-block::before,
.page-chamados .ap-body .ap-html pre.ap-code-block::before{
  content: attr(data-code-label);
  position: absolute;
  top: 11px;
  left: 14px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(226,232,240,.72);
  pointer-events: none;
}
.page-chamados .editor .ap-code-copy-btn,
#apV_body .ap-code-copy-btn,
.page-chamados .ap-body .ap-html .ap-code-copy-btn{
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(148,163,184,.30);
  background: rgba(30,41,59,.82);
  color: #e2e8f0;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 10px;
  cursor: pointer;
  line-height: 1.2;
  box-shadow: 0 10px 24px rgba(2,6,23,.18);
}
.page-chamados .editor .ap-code-copy-btn:hover,
#apV_body .ap-code-copy-btn:hover,
.page-chamados .ap-body .ap-html .ap-code-copy-btn:hover{
  border-color: rgb(var(--accent-rgb)/.6);
  background: rgba(51,65,85,.94);
}
.page-chamados .editor .ap-code-copy-btn:disabled,
#apV_body .ap-code-copy-btn:disabled,
.page-chamados .ap-body .ap-html .ap-code-copy-btn:disabled{
  opacity: .75;
  cursor: default;
}

#modalApView .modal__dialog{
  width: min(1100px, calc(100vw - 24px));
  max-height: min(calc(100dvh - max(28px, calc(var(--topbar-h, 74px) + 18px))), 980px);
  overflow: hidden;
}
#modalApView .modal__body{
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  max-height: calc(min(calc(100dvh - max(28px, calc(var(--topbar-h, 74px) + 18px))), 980px) - 150px);
  overflow-y: auto;
  overflow-x: hidden;
}
#modalApView .modal__body > *{
  min-width: 0;
}
#modalApView .apv-meta-grid{
  min-width: 0;
}
#apV_body{
  min-width: 0;
  max-width: 100%;
  word-break: break-word;
}
#apV_body > *{
  max-width: 100%;
}
#apV_body table{
  display: block;
  width: max-content;
  min-width: 100%;
  overflow-x: auto;
}
.page-chamados .editor a,
#apV_body a,
.page-chamados .ap-body .ap-html a{
  color: rgb(var(--accent-rgb));
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* YouTube card (apontamentos) */
.yt-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  margin: 8px 0;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.08);
  color: inherit;
  text-decoration: none;
  box-shadow: var(--shadow1);
  transition: transform var(--t), border-color var(--t), box-shadow var(--t), background var(--t);
}
.yt-card:hover{
  transform: translateY(-1px);
  border-color: rgb(var(--accent-rgb)/.45);
  box-shadow: var(--shadow2);
}
.yt-card .yt-thumb{
  width: 180px;
  height: 100px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  flex: 0 0 auto;
}
.yt-card .yt-body{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
  flex: 1 1 auto;
}
.yt-card .yt-title{
  font-weight: 800;
  line-height: 1.2;
  display:-webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow:hidden;
}
.yt-card .yt-meta{
  font-size: 12px;
  color: var(--muted);
}
.yt-card .yt-badge{
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .3px;
  padding: 4px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  white-space: nowrap;
}
.yt-card.is-loading .yt-title,
.yt-card.is-loading .yt-meta{
  color: transparent;
  background: linear-gradient(90deg, rgba(255,255,255,.10), rgba(255,255,255,.22), rgba(255,255,255,.10));
  background-size: 200% 100%;
  animation: ytshine 1.2s ease-in-out infinite;
  border-radius: 6px;
}
.yt-card.is-loading .yt-title{ height: 16px; }
.yt-card.is-loading .yt-meta{ height: 12px; width: 70%; }
.yt-card.is-loading .yt-thumb{
  background: linear-gradient(120deg, rgba(255,255,255,.10), rgba(255,255,255,.22), rgba(255,255,255,.10));
  background-size: 200% 100%;
  animation: ytshine 1.2s ease-in-out infinite;
}
@keyframes ytshine{
  0%{ background-position: 200% 0; }
  100%{ background-position: -200% 0; }
}
@media (max-width: 720px){
  .yt-card{
    flex-direction: column;
    align-items: flex-start;
  }
  .yt-card .yt-thumb{
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }
}

/* =========================================================
   PAGE: Tutoriais
   ========================================================= */
.tutorials-page{
  display: grid;
  gap: 14px;
}

.tutorials-head{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}
.tutorials-head__left{
  min-width: 240px;
}

.tutorials-progress{
  min-width: 260px;
  flex: 1;
  max-width: 520px;
}
.tutorials-progress__meta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.tutorials-progress__bar{
  height: 12px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,.40);
  overflow: hidden;
}
html[data-theme="dark"] .tutorials-progress__bar{
  background: rgba(255,255,255,.06);
}
.tutorials-progress__fill{
  display: block;
  height: 100%;
  width: 0%;
  background: linear-gradient(135deg, rgb(var(--accent-rgb)/.95), rgb(var(--accent2-rgb)/.95));
  box-shadow: 0 0 18px rgb(var(--accent-rgb)/.25);
  transition: width 260ms var(--ease);
}
.tutorials-progress__pct{
  margin-top: 6px;
  font-weight: 800;
  text-align: right;
}

.tutorials-group__head{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.tutorials-list{
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.tutorial-item{
  display: grid;
  grid-template-columns: 170px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--stroke);
  background: linear-gradient(135deg, rgb(255 255 255 / .55), rgb(255 255 255 / .22));
  transition: border-color var(--t), box-shadow var(--t), transform var(--t);
}
html[data-theme="dark"] .tutorial-item{
  background: linear-gradient(135deg, rgb(15 23 42 / .26), rgb(15 23 42 / .12));
}
.tutorial-item:hover{
  transform: translateY(-1px);
  border-color: rgb(var(--accent-rgb)/.25);
  box-shadow: 0 18px 52px rgb(var(--accent-rgb)/.10);
}
.tutorial-item.is-done{
  border-color: rgb(var(--accent-rgb)/.40);
  box-shadow: 0 18px 52px rgb(var(--accent-rgb)/.12);
}

.tutorial-switch{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: linear-gradient(135deg, var(--surface), var(--surface2));
  box-shadow: var(--shadow2);
}
.tutorial-switch input{
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}
.tutorial-switch-ui{
  width: 44px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid var(--stroke2);
  background: rgba(0,0,0,.06);
  position: relative;
  transition: 180ms var(--ease);
}
html[data-theme="dark"] .tutorial-switch-ui{
  background: rgba(255,255,255,.06);
}
.tutorial-switch-ui::after{
  content:"";
  position:absolute;
  top:50%;
  left:4px;
  width:16px;
  height:16px;
  transform: translateY(-50%);
  border-radius:999px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 26px rgba(2,6,23,.18);
  transition: 180ms var(--ease);
}
.tutorial-switch input:checked + .tutorial-switch-ui{
  background: rgb(var(--accent-rgb) / .20);
  border-color: rgb(var(--accent-rgb) / .35);
}
.tutorial-switch input:checked + .tutorial-switch-ui::after{
  left:22px;
  background: rgb(var(--accent2-rgb) / .95);
}
.tutorial-switch-text{
  font-weight: 800;
  min-width: 32px;
  text-align: center;
}
.tutorial-item.is-done .tutorial-switch-text{
  color: var(--accent2);
}

.tutorial-info strong{
  display: block;
  font-weight: 900;
}
.tutorial-info .muted{
  display: block;
  margin-top: 4px;
}

.tutorial-actions{
  display: flex;
  align-items: center;
  gap: 8px;
}

.tutorial-embed{
  grid-column: 1 / -1;
  padding-top: 8px;
}
.tutorial-embed__wrap{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--stroke);
  background: #000;
  box-shadow: var(--shadow2);
}
.tutorial-embed__wrap iframe{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.tutorial-text{
  margin: 0;
  padding-left: 18px;
  line-height: 1.5;
}
.tutorial-text li{
  margin: 8px 0;
}

@media (max-width: 980px){
  .tutorial-item{
    grid-template-columns: 1fr;
    align-items: flex-start;
  }
  .tutorial-actions{
    justify-content: flex-start;
  }
}

/* =========================
   DASHBOARD
   ========================= */
.page-dashboard{
  display:block;
  --dash-card: var(--glass);
  --dash-card-strong: var(--glass);
  --dash-stroke: var(--stroke);
  --dash-shadow: var(--shadow2);
  --dash-shadow-soft: var(--shadow2);
  --dash-glow: rgb(var(--accent-rgb)/.12);
  color: var(--text);
}
html[data-theme="dark"] .page-dashboard{
  --dash-card: var(--glass);
  --dash-card-strong: var(--glass);
  --dash-stroke: var(--stroke);
  --dash-shadow: var(--shadow2);
  --dash-shadow-soft: var(--shadow2);
  --dash-glow: rgb(var(--accent-rgb)/.18);
}

.page-dashboard .dash-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding: 18px;
  position:relative;
  overflow:hidden;
  border-radius: var(--r-card);
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card-strong);
  box-shadow: var(--dash-shadow);
}
.page-dashboard .dash-hero::before,
.page-dashboard .dash-hero::after{ content:none; }
.page-dashboard .dash-hero__eyebrow{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgb(var(--accent-rgb) / .85);
  font-weight: 700;
}
.page-dashboard .dash-hero__title{
  margin: 6px 0 0;
  font-size: clamp(1.4rem, 1.2rem + 1vw, 2rem);
  font-weight: 800;
  letter-spacing: -.02em;
}
.page-dashboard .dash-hero__subtitle{ margin: 6px 0 0; }
.page-dashboard .dash-hero__right{
  display:flex;
  align-items:flex-end;
  flex-direction:column;
  gap:10px;
}
.page-dashboard .dash-notes{
  padding: 16px;
  display:grid;
  gap: 12px;
  border-radius: var(--r-card);
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card-strong);
  box-shadow: var(--dash-shadow);
}
.page-dashboard .dash-notes__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
}
.page-dashboard .dash-notes__head h3{
  margin:0;
}
.page-dashboard .dash-notes__head p{
  margin:6px 0 0;
}
.page-dashboard .dash-notes__grid{
  display:grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.page-dashboard .dash-note-card{
  padding: 12px;
  border-radius: 16px;
  border: 1px solid var(--dash-stroke);
  background:
    radial-gradient(220px 80px at 90% -10%, rgb(var(--accent-rgb) / .14), transparent 60%),
    var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
}
.page-dashboard .dash-note-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
}
.page-dashboard .dash-note-card__head h4{
  margin:0;
  font-size: .98rem;
}
.page-dashboard .dash-note-card p{
  margin:8px 0 0;
  font-size: .92rem;
}
.page-dashboard .dash-note-card__actions{
  margin-top: 10px;
  display:flex;
  justify-content:flex-end;
}
.page-dashboard .dash-calendar-layout{
  display:grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: 14px;
  align-items:start;
}
.page-dashboard .dash-calendar-side{
  display:grid;
  gap: 10px;
}
.page-dashboard .dash-side-kpi{
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card-strong);
  box-shadow: var(--dash-shadow-soft);
  display:grid;
  gap: 8px;
}
.page-dashboard .dash-side-kpi__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
}
.page-dashboard .dash-side-kpi__head h4{
  margin:0;
  font-size: .95rem;
}
.page-dashboard .dash-side-kpi__value{
  font-size: 28px;
  font-weight: 800;
  line-height: 1;
}
.page-dashboard .dash-side-kpi__meta{
  margin:0;
  font-size: .82rem;
}
.page-dashboard .dash-side-oncall{
  display:flex;
  align-items:center;
  gap: 8px;
}
.page-dashboard .dash-side-oncall__dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #94A3B8;
  box-shadow: 0 0 0 3px rgb(148 163 184 / .20);
}

.page-dashboard .dash-period{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.page-dashboard .dash-period__btn{
  border:1px solid var(--dash-stroke);
  background: var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
  transition: var(--t);
}
.page-dashboard .dash-period__btn.is-active,
.page-dashboard .dash-period__btn[aria-selected="true"]{
  border-color: rgb(var(--accent-rgb) / .45);
  background:
    radial-gradient(180px 80px at 20% 10%, rgb(var(--accent-rgb) / .25), transparent 70%),
    var(--dash-card-strong);
  box-shadow: 0 16px 40px rgb(var(--accent-rgb) / .18);
  transform: translateY(-1px);
}
.page-dashboard .dash-period__range{ font-size: 12px; }

.page-dashboard .dash-kpis{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
}
.page-dashboard .dash-kpi{
  position:relative;
  padding: 14px;
  border-radius: var(--r-card);
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
  overflow:hidden;
}
.page-dashboard .dash-kpi::before,
.page-dashboard .dash-kpi::after{ content:none; }
.page-dashboard .dash-kpi[data-tone="emerald"]{ --kpi-rgb: 22 163 74; }
.page-dashboard .dash-kpi[data-tone="blue"]{ --kpi-rgb: 14 165 233; }
.page-dashboard .dash-kpi[data-tone="amber"]{ --kpi-rgb: 245 158 11; }
.page-dashboard .dash-kpi[data-tone="violet"]{ --kpi-rgb: 139 92 246; }
.page-dashboard .dash-kpi[data-tone="slate"]{ --kpi-rgb: 100 116 139; }

.page-dashboard .dash-kpi__top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-weight: 600;
}
.page-dashboard .dash-kpi__top span:first-child{
  position:relative;
  padding-left: 14px;
}
.page-dashboard .dash-kpi__top span:first-child::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgb(var(--kpi-rgb));
}
.page-dashboard .dash-kpi__badge{
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgb(var(--kpi-rgb) / .35);
  background: transparent;
  color: rgb(var(--kpi-rgb));
}
.page-dashboard .dash-kpi__value{
  font-size: 30px;
  font-weight: 800;
  margin: 8px 0 4px;
}
.page-dashboard .dash-kpi__meta{
  display:none;
}
.page-dashboard .dash-kpi__progress{
  margin-top: 8px;
  height: 4px;
  border-radius: 999px;
  background: rgba(0,0,0,.08);
  overflow:hidden;
}
html[data-theme="dark"] .page-dashboard .dash-kpi__progress{ background: rgba(255,255,255,.08); }
.page-dashboard .dash-kpi__progress span{
  display:block;
  height:100%;
  width: var(--val, 0%);
  background: linear-gradient(90deg, rgb(var(--kpi-rgb) / .45), rgb(var(--kpi-rgb) / .95));
  transition: width 260ms var(--ease);
}

.page-dashboard .dash-calendar{
  padding: 18px;
  display:grid;
  gap: 16px;
  border-radius: var(--r-card);
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card-strong);
  box-shadow: var(--dash-shadow);
  position: relative;
  overflow:hidden;
}
.page-dashboard .dash-calendar::before{ content:none; }
.page-dashboard .dash-section__head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.page-dashboard .dash-section__actions{
  display:flex;
  align-items:center;
  gap: 14px;
  flex-wrap:wrap;
}
.page-dashboard .dash-toggle{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 6px 10px;
  border: 1px solid var(--dash-stroke);
  border-radius: 999px;
  background: var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
}
.page-dashboard .dash-toggle__label{ font-size: 12px; font-weight: 600; }

.page-dashboard .dash-switch{ position:relative; display:inline-flex; align-items:center; }
.page-dashboard .dash-switch input{ position:absolute; opacity:0; width:1px; height:1px; pointer-events:none; }
.page-dashboard .dash-switch__ui{
  width:46px;
  height:26px;
  border-radius:999px;
  border:1px solid var(--dash-stroke);
  background: rgba(0,0,0,.06);
  position:relative;
  transition: 180ms var(--ease);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.06);
}
html[data-theme="dark"] .page-dashboard .dash-switch__ui{ background: rgba(255,255,255,.08); }
.page-dashboard .dash-switch__ui::after{
  content:"";
  position:absolute;
  top:50%;
  left:4px;
  width:18px;
  height:18px;
  transform: translateY(-50%);
  border-radius:999px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 10px 26px rgba(2,6,23,.18);
  transition: 180ms var(--ease);
}
.page-dashboard .dash-switch input:checked + .dash-switch__ui{
  background: rgb(var(--accent-rgb) / .20);
  border-color: rgb(var(--accent-rgb) / .35);
}
.page-dashboard .dash-switch input:checked + .dash-switch__ui::after{
  left:24px;
  background: rgb(var(--accent2-rgb) / .95);
}

.page-dashboard .dash-cal-nav{
  display:flex;
  align-items:center;
  gap:10px;
}
.page-dashboard .dash-cal-label{
  font-weight: 700;
  min-width: 140px;
  text-align:center;
}
.page-dashboard .dash-cal-board{
  border: 1px solid var(--dash-stroke);
  border-radius: 10px;
  overflow: hidden;
  background: color-mix(in srgb, var(--dash-card) 86%, white);
}
.page-dashboard .dash-cal-weekdays{
  display:grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}
.page-dashboard .dash-cal-weekdays span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height: 36px;
  padding: 6px 4px;
  border-right: 1px solid var(--dash-stroke);
  border-bottom: 1px solid var(--dash-stroke);
  background: color-mix(in srgb, var(--dash-card) 65%, white);
}
.page-dashboard .dash-cal-weekdays span:last-child{
  border-right: 0;
}
.page-dashboard .dash-cal-grid{
  display:grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0;
  grid-auto-rows: minmax(112px, auto);
}
.page-dashboard .dash-day{
  border: 0;
  border-right: 1px solid var(--dash-stroke);
  border-bottom: 1px solid var(--dash-stroke);
  border-radius: 0;
  padding: 9px;
  min-height: 112px;
  background: transparent;
  text-align:left;
  cursor:pointer;
  position: relative;
  overflow:hidden;
  transition: background var(--t), box-shadow var(--t);
  color: var(--text);
  display: grid;
  grid-template-rows: auto 1fr;
  align-content: start;
}
.page-dashboard .dash-day::after{
  display: none;
}
.page-dashboard .dash-day:nth-child(7n){
  border-right: 0;
}
.page-dashboard .dash-day:nth-last-child(-n + 7){
  border-bottom: 0;
}
.page-dashboard .dash-day:focus-visible{
  outline: none;
  box-shadow: inset 0 0 0 2px rgb(var(--accent-rgb) / .55);
}
.page-dashboard .dash-day:hover{
  background: rgb(var(--accent-rgb) / .06);
}
.page-dashboard .dash-day[disabled]{
  cursor: default;
}
.page-dashboard .dash-day.is-out{
  opacity: .7;
  color: color-mix(in srgb, var(--muted) 75%, var(--text));
  background: color-mix(in srgb, var(--dash-card) 80%, transparent);
}
.page-dashboard .dash-day.is-today{
  background: rgb(var(--accent-rgb) / .10);
}
.page-dashboard .dash-day.is-active{
  box-shadow: inset 0 0 0 2px rgb(var(--accent-rgb) / .72);
}
.page-dashboard .dash-day.has-data{
  background:
    linear-gradient(180deg, rgb(var(--accent-rgb) / .10), rgb(var(--accent-rgb) / .03));
}
.page-dashboard .dash-day__head{
  display:none;
}
.page-dashboard .dash-day__date{ display:flex; align-items:baseline; gap:8px; }
.page-dashboard .dash-day__num{
  font-weight: 800;
  font-size: 16px;
  letter-spacing: -.01em;
  line-height: 1;
}
.page-dashboard .dash-day__weekday{
  display:none;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}
.page-dashboard .dash-day__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 8px;
  position:relative;
  z-index: 1;
}
.page-dashboard .dash-day__total{
  font-size: 10px;
  font-weight: 800;
  min-width: 24px;
  text-align: center;
  padding: 3px 6px;
  border-radius: 6px;
  border: 1px solid var(--dash-stroke);
  background: rgba(255,255,255,.92);
  color: var(--text);
}
html[data-theme="dark"] .page-dashboard .dash-day__total{
  background: rgba(2,6,23,.65);
}
.page-dashboard .dash-day__dots{
  display:grid;
  gap: 6px;
  margin-top: 8px;
  position:relative;
  z-index: 1;
  align-content: start;
}
.page-dashboard .dash-dot{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:5px;
  font-size: 11px;
  padding: 3px 6px;
  border-radius: 5px;
  border: 1px solid var(--dash-stroke);
  background: rgba(255,255,255,.8);
  color: var(--text);
  width: fit-content;
}
html[data-theme="dark"] .page-dashboard .dash-dot{
  background: rgba(2,6,23,.56);
}
.page-dashboard .dash-dot .dot{
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--dot, #94A3B8);
  box-shadow: 0 0 0 2px rgb(255 255 255 / .35) inset;
}
html[data-theme="dark"] .page-dashboard .dash-cal-board{
  background: color-mix(in srgb, var(--dash-card) 88%, black);
}
html[data-theme="dark"] .page-dashboard .dash-cal-weekdays span{
  background: color-mix(in srgb, var(--dash-card) 74%, rgba(2,6,23,.85));
}
.page-dashboard .dash-cal-foot{
  font-size: 12px;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  gap: 8px;
}
.page-dashboard .dash-cal-foot__label{
  font-weight: 700;
}
.page-dashboard .dash-cal-foot__pill{
  --pill: 148 163 184;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, rgb(var(--pill)) 40%, transparent);
  background: color-mix(in srgb, rgb(var(--pill)) 14%, white);
  color: color-mix(in srgb, rgb(var(--pill)) 85%, var(--text));
  font-weight: 600;
}
.page-dashboard .dash-cal-foot__pill--open{ --pill: 22 163 74; }
.page-dashboard .dash-cal-foot__pill--closed{ --pill: 14 165 233; }

.page-dashboard .dash-lists{
  display:grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.page-dashboard .dash-list-card{
  padding: 16px;
  display:grid;
  gap: 12px;
  border-radius: 22px;
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
}
.page-dashboard .dash-list__head h3{ margin:0; }
.page-dashboard .dash-list__head p{ margin:4px 0 0; font-size: 12px; }
.page-dashboard .dash-list{
  display:grid;
  gap: 8px;
}
.page-dashboard .dash-list__row{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid var(--dash-stroke);
  background: rgba(255,255,255,.65);
  overflow:hidden;
}
  html[data-theme="dark"] .page-dashboard .dash-list__row{ background: rgba(15,23,42,.4); }
  .page-dashboard .dash-list__row::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width: var(--w, 0%);
  background: linear-gradient(90deg, rgb(var(--accent-rgb) / .18), transparent 70%);
  pointer-events:none;
}
.page-dashboard .dash-list__label{
  display:flex;
  align-items:center;
  gap: 8px;
  font-weight: 600;
  position:relative;
  z-index:1;
  min-width: 0;
}
.page-dashboard .dash-list__actions{
  display:flex;
  align-items:center;
  gap: 8px;
  position:relative;
  z-index:1;
}
.page-dashboard .dash-list__row--others{
  border-style: dashed;
}
.page-dashboard .dash-list__row--others .dash-list__rank{
  background: rgb(14 165 233 / .14);
  color: rgb(14 165 233);
}
.page-dashboard .dash-list__more{
  white-space: nowrap;
  padding: 4px 10px;
}
.page-dashboard .dash-list__rank{
  width: 24px;
  height: 24px;
  border-radius: 8px;
  display:grid;
  place-items:center;
  font-size: 11px;
  font-weight: 700;
  background: rgb(var(--accent-rgb) / .14);
  color: rgb(var(--accent-rgb));
}
.page-dashboard .dash-list__name{
  overflow:hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
  .page-dashboard .dash-list__value{
    font-weight: 800;
    position:relative;
    z-index:1;
  }

/* =========================
   PlantÃ£o
   ========================= */
.page-plantao .plantao-wrap{
  padding: 22px;
}
.page-plantao .tk-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.page-plantao .tk-head__right{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.page-plantao .tk-title{ margin:0; }
.page-plantao .tk-subtitle{ margin:6px 0 0; }
.page-plantao .tk-filters{
  margin-top:14px;
  padding:12px;
  position:relative;
  z-index:40;
}
.page-plantao .plantao-tabs{
  margin-top:14px;
}
.page-plantao .plantao-control-grid{
  display:grid;
  gap:16px;
  grid-template-columns: 2fr 1fr;
  margin-top:14px;
  align-items:start;
}
.page-plantao .plantao-side{
  display:grid;
  gap:16px;
  align-self:start;
}
.page-plantao .dash-day.is-dim{
  opacity:.4;
}
.page-plantao .dash-calendar{
  background: linear-gradient(160deg, rgba(255,255,255,.98), rgba(255,255,255,.78));
  border-color: color-mix(in srgb, var(--stroke) 85%, white);
}
.page-plantao .dash-day{
  min-height: 140px;
  background: rgba(255,255,255,.92);
  border-color: color-mix(in srgb, var(--dash-stroke) 70%, white);
}
.page-plantao .dash-day__badge{
  background: rgba(255,255,255,.92);
}
.page-plantao .dash-day__pill{
  background: color-mix(in srgb, var(--pill, #94A3B8) 18%, white);
  border-color: color-mix(in srgb, var(--pill, #94A3B8) 45%, transparent);
}
.page-plantao .dash-day.is-empty{
  opacity:.55;
}
html[data-theme="dark"] .page-plantao .dash-calendar{
  background: var(--dash-card-strong);
  border-color: var(--dash-stroke);
}
html[data-theme="dark"] .page-plantao .dash-day{
  background: var(--dash-card);
  border-color: var(--dash-stroke);
}
.page-plantao .plantao-current{
  padding:16px;
  display:grid;
  gap:12px;
  align-self:start;
}
.page-plantao .plantao-current__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
}
.page-plantao .plantao-current__user{
  display:flex;
  gap:12px;
  align-items:center;
}
.page-plantao .plantao-dot{
  width:14px;
  height:14px;
  border-radius:999px;
  background:#94a3b8;
  box-shadow:0 0 0 3px rgba(148,163,184,.25);
}
.page-plantao .plantao-current__meta{
  display:grid;
  gap:6px;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}
.page-plantao .plantao-attendants{
  padding:16px;
  display:grid;
  gap:12px;
}
.page-plantao .plantao-att-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
}
.page-plantao .plantao-att-list{
  display:grid;
  gap:10px;
}
.page-plantao .plantao-att-group{
  border:1px solid var(--stroke);
  border-radius:14px;
  padding:10px;
  display:grid;
  gap:8px;
  background: rgba(255,255,255,.6);
}
.page-plantao .plantao-att-group__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex-wrap:wrap;
}
.page-plantao .plantao-att-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 10px;
  border-radius:12px;
  border:1px solid color-mix(in srgb, var(--stroke) 70%, white);
  background: rgba(255,255,255,.85);
}
.page-plantao .plantao-att-user{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}
.page-plantao .plantao-att-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background: var(--dot, #94A3B8);
  box-shadow:0 0 0 3px rgba(148,163,184,.25);
}
.page-plantao .plantao-att-name{
  font-weight:600;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.page-plantao .plantao-inspect-grid{
  display:grid;
  gap:16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.page-plantao .plantao-inspect-toolbar{
  display:flex;
  gap:12px;
  align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap;
}
.page-plantao .plantao-inspect-toolbar__actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.page-plantao .plantao-inspect-kpis{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:12px 0 6px;
}
.page-plantao .plantao-inspect-calc{
  margin:12px 0 4px;
  padding:12px;
  border:1px solid var(--stroke);
  border-radius:12px;
  background:rgba(255,255,255,.55);
}
.page-plantao .plantao-inspect-calc__content{
  display:grid;
  gap:8px;
}
.page-plantao .plantao-delete-summary{
  margin-top:10px;
  padding:10px;
  border-radius:12px;
  border:1px solid var(--stroke);
  background: rgba(255,255,255,.6);
  display:grid;
  gap:6px;
}
html[data-theme="dark"] .page-plantao .plantao-att-group,
html[data-theme="dark"] .page-plantao .plantao-att-row,
html[data-theme="dark"] .page-plantao .plantao-inspect-calc,
html[data-theme="dark"] .page-plantao .plantao-delete-summary{
  background: var(--dash-card);
  border-color: var(--dash-stroke);
}
@media (max-width: 900px){
  .page-plantao .plantao-inspect-grid{ grid-template-columns: 1fr; }
  .page-plantao .plantao-inspect-toolbar{
    align-items:stretch;
  }
  .page-plantao .plantao-inspect-toolbar__actions{
    width:100%;
  }
}
.page-plantao .plantao-grid{
  display:grid;
  gap:16px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items:start;
}
.page-plantao .plantao-grid--single{
  grid-template-columns: 1fr;
}
.page-plantao .plantao-card{
  padding:16px;
  min-width:0;
}
.page-plantao .plantao-history{
  display:grid;
  gap:12px;
}
.page-plantao .plantao-history-kpis{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.page-plantao .plantao-history-filters{
  margin-top:2px;
  padding:12px;
}
.page-plantao .plantao-history-filters__grid{
  display:grid;
  grid-template-columns: minmax(240px, 2fr) repeat(3, minmax(140px, 1fr)) auto;
  gap:12px;
  align-items:end;
}
.page-plantao .plantao-history-filters__actions{
  display:flex;
  gap:8px;
  align-items:flex-end;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.page-plantao .plantao-history-ref{
  font-size:11px;
  margin-top:4px;
}
.page-plantao .plantao-history-foot{
  margin-top:4px;
}
.page-plantao .plantao-history .table td{
  vertical-align:top;
}
.page-plantao .plantao-modal-divider{
  height:1px;
  background: var(--stroke);
  margin: 14px 0;
}
.page-plantao .plantao-modal-members{
  display:grid;
  gap:12px;
}
.page-plantao .plantao-member-hint{
  margin-left:auto;
  font-size:12px;
}
.page-plantao .plantao-member-add{
  display:grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap:12px;
  align-items:end;
  margin-top:10px;
}
.page-plantao .plantao-member-add .field{
  min-width:0;
}
.page-plantao .plantao-member-actions{
  display:flex;
  justify-content:flex-end;
  align-items:flex-end;
}
.page-plantao .plantao-member-footer{
  display:flex;
  justify-content:flex-end;
  margin-top:10px;
}
.page-plantao .plantao-color{
  display:flex;
  gap:8px;
  align-items:center;
}
.page-plantao .plantao-color input[type="text"]{
  max-width:110px;
}
.page-plantao .plantao-intervals{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:10px;
}
.page-plantao .plantao-interval-row{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
.page-plantao .plantao-interval-row .input{
  min-width:120px;
}
@media (max-width: 1100px){
  .page-plantao .plantao-grid{ grid-template-columns: 1fr; }
  .page-plantao .plantao-member-add{ grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .page-plantao .plantao-history-filters__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .page-plantao .plantao-history-filters__actions{
    justify-content:flex-start;
  }
}
@media (max-width: 1024px){
  .page-plantao .plantao-control-grid{ grid-template-columns: 1fr; }
}
@media (max-width: 720px){
  .page-plantao .plantao-current__meta{ grid-template-columns: 1fr; }
  .page-plantao .plantao-history-filters__grid{ grid-template-columns: 1fr; }
  .page-plantao .plantao-history .tk-foot{
    flex-direction:column;
    align-items:flex-start;
  }
}

/* Plantao calendar hardening (isolated from dashboard changes) */
.page-plantao .plantao-calendar{
  position: relative;
  overflow: visible;
  padding: 16px;
  border-radius: 14px;
}
.page-plantao .plantao-calendar .dash-section__head{
  align-items: center;
}
.page-plantao .plantao-calendar .dash-cal-label{
  min-width: 190px;
  font-size: 15px;
  text-transform: capitalize;
}
.page-plantao .plantao-calendar .dash-cal-board{
  border: 1px solid color-mix(in srgb, var(--stroke) 74%, transparent);
  border-radius: 10px;
  overflow: hidden;
  background: color-mix(in srgb, var(--dash-card) 86%, white);
}
.page-plantao .plantao-calendar .dash-cal-weekdays{
  gap: 0;
}
.page-plantao .plantao-calendar .dash-cal-weekdays span{
  min-height: 34px;
  padding: 6px 4px;
  border-radius: 0;
  border: 0;
  border-right: 1px solid color-mix(in srgb, var(--stroke) 72%, white);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke) 72%, white);
  background: color-mix(in srgb, var(--dash-card) 64%, white);
}
.page-plantao .plantao-calendar .dash-cal-weekdays span:last-child{
  border-right: 0;
}
.page-plantao .plantao-calendar .dash-cal-grid{
  gap: 0;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  grid-auto-rows: minmax(118px, auto);
}
.page-plantao .plantao-calendar .dash-day{
  min-height: 118px;
  padding: 8px;
  border-radius: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  align-content: start;
  gap: 8px;
  border: 0;
  border-right: 1px solid color-mix(in srgb, var(--stroke) 74%, white);
  border-bottom: 1px solid color-mix(in srgb, var(--stroke) 74%, white);
  background: transparent;
  box-shadow: none;
  transition: background var(--t), box-shadow var(--t);
}
.page-plantao .plantao-calendar .dash-day:nth-child(7n){
  border-right: 0;
}
.page-plantao .plantao-calendar .dash-day:nth-last-child(-n + 7){
  border-bottom: 0;
}
.page-plantao .plantao-calendar .dash-day::after{
  display: none !important;
}
.page-plantao .plantao-calendar .dash-day:hover{
  background: rgb(var(--accent-rgb) / .06);
}
.page-plantao .plantao-calendar .dash-day:focus-visible{
  outline: none;
  box-shadow: inset 0 0 0 2px rgb(var(--accent-rgb) / .55);
}
.page-plantao .plantao-calendar .dash-day__head{
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.page-plantao .plantao-calendar .dash-day__date{
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.page-plantao .plantao-calendar .dash-day__num{
  font-size: 16px;
  font-weight: 800;
  line-height: 1;
}
.page-plantao .plantao-calendar .dash-day__weekday{
  display: inline-flex;
  font-size: 10px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--muted);
}
.page-plantao .plantao-calendar .dash-day__badge{
  display: inline-flex;
  align-items: center;
  padding: 3px 6px;
  border-radius: 6px;
  border: 1px solid color-mix(in srgb, var(--stroke) 70%, white);
  background: rgba(255,255,255,.92);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-weight: 700;
}
.page-plantao .plantao-calendar .dash-day__meta{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
}
.page-plantao .plantao-calendar .dash-day__pill{
  width: auto;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  padding: 5px 7px;
  border-radius: 6px;
  border: 1px solid color-mix(in srgb, var(--pill, #94A3B8) 44%, transparent);
  background: color-mix(in srgb, var(--pill, #94A3B8) 18%, white);
  color: color-mix(in srgb, var(--pill, #475569) 86%, #0f172a);
  font-size: 11px;
  line-height: 1.2;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.page-plantao .plantao-calendar .dash-day.is-override{
  box-shadow: inset 0 0 0 2px rgb(239 68 68 / .35);
}
.page-plantao .plantao-calendar .dash-day.is-empty{
  opacity: .75;
  background: color-mix(in srgb, var(--dash-card) 80%, transparent);
}
.page-plantao .plantao-calendar .dash-day.is-out{
  opacity: .68;
  color: color-mix(in srgb, var(--muted) 74%, var(--text));
}
.page-plantao .plantao-calendar .dash-day.is-today{
  background: rgb(var(--accent-rgb) / .10);
}
.page-plantao .plantao-calendar .dash-day.has-data{
  background: linear-gradient(180deg, rgb(var(--accent-rgb) / .10), rgb(var(--accent-rgb) / .03));
}
.page-plantao .plantao-calendar .dash-day[disabled]{
  cursor: not-allowed;
}
.page-plantao .plantao-calendar .dash-cal-foot{
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px dashed color-mix(in srgb, var(--stroke) 70%, transparent);
}

html[data-theme="dark"] .page-plantao .plantao-calendar .dash-cal-weekdays span{
  border-right-color: rgb(255 255 255 / .12);
  border-bottom-color: rgb(255 255 255 / .12);
  background: color-mix(in srgb, var(--dash-card) 74%, rgba(2,6,23,.85));
}
html[data-theme="dark"] .page-plantao .plantao-calendar .dash-cal-board{
  background: color-mix(in srgb, var(--dash-card) 88%, black);
}
html[data-theme="dark"] .page-plantao .plantao-calendar .dash-day{
  border-right-color: rgb(148 163 184 / .30);
  border-bottom-color: rgb(148 163 184 / .30);
}
html[data-theme="dark"] .page-plantao .plantao-calendar .dash-day__num{
  color: #f8fafc;
}
html[data-theme="dark"] .page-plantao .plantao-calendar .dash-day__weekday{
  color: #cbd5e1;
}
html[data-theme="dark"] .page-plantao .plantao-calendar .dash-day__badge{
  border-color: rgb(148 163 184 / .35);
  background: rgba(2,6,23,.60);
  color: #e2e8f0;
}
html[data-theme="dark"] .page-plantao .plantao-calendar .dash-day__pill{
  background: color-mix(in srgb, var(--pill, #94A3B8) 24%, rgba(2,6,23,.92));
  border-color: color-mix(in srgb, var(--pill, #94A3B8) 52%, rgba(255,255,255,.14));
  color: #f8fafc;
}

@media (max-width: 900px){
  .page-plantao .plantao-calendar .dash-cal-grid{
    grid-auto-rows: minmax(108px, auto);
  }
  .page-plantao .plantao-calendar .dash-day{
    min-height: 108px;
  }
  .page-plantao .plantao-calendar .dash-day__badge{
    display: none;
  }
}

.page-dashboard .dash-charts{
  display:grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.page-dashboard .dash-chart{
  padding: 16px;
  display:grid;
  gap: 12px;
  border-radius: 22px;
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
}
.page-dashboard .dash-chart__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap: 10px;
  flex-wrap:wrap;
}
.page-dashboard .dash-chart__legend{
  display:flex;
  align-items:center;
  gap: 10px;
  font-size: 12px;
  color: var(--muted);
}
.page-dashboard .dash-legend-dot{
  display:inline-block;
  width:10px;
  height:10px;
  border-radius:999px;
  background: var(--dot, #94A3B8);
}
.page-dashboard .dash-chart__canvas{
  width:100%;
  height: 260px;
  position: relative;
}
.page-dashboard .dash-chart__canvas canvas{ width:100%; height:100%; }
.page-dashboard .dash-chart__split{
  display:grid;
  grid-template-columns: minmax(220px, 1fr) 220px;
  gap: 12px;
  align-items:center;
}
.page-dashboard .dash-legend{
  display:grid;
  gap: 8px;
  font-size: 12px;
}
.page-dashboard .dash-legend__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 6px 8px;
  border-radius: 12px;
  background: rgba(255,255,255,.65);
  border: 1px solid var(--dash-stroke);
}
html[data-theme="dark"] .page-dashboard .dash-legend__row{ background: rgba(15,23,42,.4); }
.page-dashboard .dash-legend__label{ display:flex; align-items:center; gap:8px; }

#dashDayModal{
  --dash-card: linear-gradient(160deg, rgba(255,255,255,.94), rgba(255,255,255,.66));
  --dash-card-strong: linear-gradient(160deg, rgba(255,255,255,.98), rgba(255,255,255,.72));
  --dash-stroke: color-mix(in srgb, var(--stroke) 80%, white);
  --dash-shadow: 0 18px 50px rgba(2,6,23,.12);
  --dash-shadow-soft: 0 10px 26px rgba(2,6,23,.10);
  --dash-glow: rgb(var(--accent-rgb)/.18);
}
html[data-theme="dark"] #dashDayModal{
  --dash-card: linear-gradient(160deg, rgba(15,23,42,.58), rgba(15,23,42,.32));
  --dash-card-strong: linear-gradient(160deg, rgba(15,23,42,.72), rgba(15,23,42,.36));
  --dash-stroke: rgba(255,255,255,.14);
  --dash-shadow: 0 18px 50px rgba(0,0,0,.45);
  --dash-shadow-soft: 0 10px 26px rgba(0,0,0,.40);
  --dash-glow: rgb(var(--accent-rgb)/.25);
}

#dashDayModal .dash-modal{
  width: min(1100px, 96vw);
  border-radius: 28px;
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card-strong);
  box-shadow: var(--dash-shadow);
}
#dashDayModal .modal__header{
  border-bottom: 1px solid var(--dash-stroke);
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,255,255,.86));
}
html[data-theme="dark"] #dashDayModal .modal__header{
  background: linear-gradient(180deg, rgba(15,23,42,.88), rgba(15,23,42,.72));
}
#dashDayModal .modal__body{ gap: 16px; }
#dashDayModal .dash-day-filters{
  position: relative;
  z-index: 20;
  overflow: visible;
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
}
#dashDayModal .dash-day-filters .form-grid{
  gap: 10px;
}
#dashDayModal .dash-day-filters .filters-actions{
  justify-content:flex-start;
}
#dashDayModal .searchselect .ss-list{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,252,255,.96)),
    radial-gradient(260px 120px at 0 0, rgb(var(--accent-rgb)/.14), transparent 70%);
  border-color: color-mix(in srgb, var(--dash-stroke) 76%, rgb(var(--accent-rgb)) 24%);
}
html[data-theme="dark"] #dashDayModal .searchselect .ss-list{
  background:
    linear-gradient(180deg, rgba(7,16,28,.98), rgba(10,18,32,.96)),
    radial-gradient(260px 120px at 0 0, rgb(var(--accent-rgb)/.18), transparent 70%);
}
#dashDayModal .dash-modal__toolbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap: 12px;
  flex-wrap:wrap;
  padding: 10px 12px;
  border: 1px solid var(--dash-stroke);
  border-radius: 16px;
  background: var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
}
#dashDayModal .dash-modal__counts{ display:flex; gap:8px; flex-wrap:wrap; }
#dashDayModal .dash-modal__list{
  position: relative;
  z-index: 1;
  display:grid;
  gap: 12px;
  max-height: min(56vh, 620px);
  overflow:auto;
  padding-right: 2px;
}
#dashDayModal .dash-ticket,
#dashUpcomingModal .dash-ticket{
  border: 1px solid var(--dash-stroke);
  border-radius: 16px;
  padding: 14px 14px 14px 18px;
  background: var(--dash-card);
  display:grid;
  gap: 8px;
  position: relative;
  overflow:hidden;
  box-shadow: var(--dash-shadow-soft);
}
#dashDayModal .dash-ticket::before,
#dashUpcomingModal .dash-ticket::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--ticket-accent, rgb(var(--accent-rgb))), transparent 80%);
}
#dashDayModal .dash-ticket__top,
#dashUpcomingModal .dash-ticket__top{
  display:flex;
  justify-content:space-between;
  gap: 12px;
  flex-wrap:wrap;
}
#dashDayModal .dash-ticket__actions,
#dashUpcomingModal .dash-ticket__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
#dashDayModal .dash-ticket__title,
#dashUpcomingModal .dash-ticket__title{
  font-weight: 700;
  text-decoration:none;
}
#dashDayModal .dash-ticket__title:hover,
#dashUpcomingModal .dash-ticket__title:hover{
  color: rgb(var(--accent-rgb));
  text-decoration: underline;
}
#dashDayModal .dash-ticket__meta,
#dashUpcomingModal .dash-ticket__meta{
  display:flex;
  gap: 10px;
  flex-wrap:wrap;
  font-size: 12px;
  color: var(--muted);
}
#dashDayModal .dash-ticket__pill,
#dashUpcomingModal .dash-ticket__pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  border: 1px solid var(--dash-stroke);
  background: rgba(255,255,255,.7);
}
html[data-theme="dark"] #dashDayModal .dash-ticket__pill,
html[data-theme="dark"] #dashUpcomingModal .dash-ticket__pill{ background: rgba(15,23,42,.4); }
#dashDayModal .dash-ticket__print{
  white-space: nowrap;
}
#dashDayModal .dash-modal__list{
  align-content: start;
  grid-auto-rows: max-content;
}
#dashDayModal .dash-ticket{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap: 10px;
  min-height: 112px;
}
#dashDayModal .dash-ticket > *{
  position: relative;
  z-index: 1;
}
#dashDayModal .dash-ticket__top{
  display:grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items:start;
  gap: 10px 12px;
}
#dashDayModal .dash-ticket__top > div:first-child{
  min-width:0;
}
#dashDayModal .dash-ticket__title{
  display:block;
  line-height: 1.32;
}
#dashDayModal .dash-ticket__actions{
  align-self:start;
}
#dashDayModal .dash-ticket__meta{
  line-height: 1.35;
}
@media (max-width: 900px){
  #dashDayModal .dash-ticket__top{
    grid-template-columns: 1fr;
  }
  #dashDayModal .dash-ticket__actions{
    justify-content:flex-start;
  }
}

#dashOthersModal{
  --dash-card: linear-gradient(160deg, rgba(255,255,255,.94), rgba(255,255,255,.66));
  --dash-stroke: color-mix(in srgb, var(--stroke) 80%, white);
  --dash-shadow-soft: 0 10px 26px rgba(2,6,23,.10);
}
html[data-theme="dark"] #dashOthersModal{
  --dash-card: linear-gradient(160deg, rgba(15,23,42,.72), rgba(15,23,42,.36));
  --dash-stroke: rgba(255,255,255,.14);
  --dash-shadow-soft: 0 10px 26px rgba(0,0,0,.40);
}
#dashOthersModal .dash-modal--others{
  max-width: 760px;
}
#dashOthersModal .dash-others__list{
  display:grid;
  gap:10px;
}
#dashOthersModal .dash-others__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
}
#dashOthersModal .dash-others__left{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
#dashOthersModal .dash-others__name{
  overflow:hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#dashUpcomingModal{
  --dash-card: linear-gradient(160deg, rgba(255,255,255,.94), rgba(255,255,255,.66));
  --dash-card-strong: linear-gradient(160deg, rgba(255,255,255,.98), rgba(255,255,255,.72));
  --dash-stroke: color-mix(in srgb, var(--stroke) 80%, white);
  --dash-shadow: 0 18px 50px rgba(2,6,23,.12);
  --dash-shadow-soft: 0 10px 26px rgba(2,6,23,.10);
}
html[data-theme="dark"] #dashUpcomingModal{
  --dash-card: linear-gradient(160deg, rgba(15,23,42,.72), rgba(15,23,42,.36));
  --dash-card-strong: linear-gradient(160deg, rgba(15,23,42,.78), rgba(15,23,42,.42));
  --dash-stroke: rgba(255,255,255,.14);
  --dash-shadow: 0 18px 50px rgba(0,0,0,.45);
  --dash-shadow-soft: 0 10px 26px rgba(0,0,0,.40);
}
#dashUpcomingModal .dash-modal--upcoming{
  width: min(1080px, 96vw);
  border-radius: 24px;
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card-strong);
  box-shadow: var(--dash-shadow);
}
#dashUpcomingModal .dash-upcoming-summary{
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
}
#dashUpcomingModal .dash-upcoming-summary__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
#dashUpcomingModal .dash-upcoming-summary__head p{
  margin: 4px 0 0;
}
#dashUpcomingModal .dash-upcoming-progress{
  position: relative;
  height: 10px;
  border-radius: 999px;
  border: 1px solid var(--dash-stroke);
  background: rgba(148,163,184,.25);
  overflow:hidden;
}
#dashUpcomingModal .dash-upcoming-progress > span{
  display:block;
  height:100%;
  width:0;
  border-radius: inherit;
  background: linear-gradient(90deg, rgb(34 197 94 / .88), rgb(14 165 233 / .88));
  transition: width 220ms ease;
}
#dashUpcomingModal .dash-upcoming-groups{
  display:grid;
  gap:12px;
}
#dashUpcomingModal .dash-upcoming-filters{
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
}
#dashUpcomingModal .dash-upcoming-filters .form-grid{
  gap: 10px 12px;
}
#dashUpcomingModal .dash-upcoming-filters .filters-actions{
  margin-top: 0;
}
#dashUpcomingModal .dash-upcoming-tabs{
  margin: 0;
  padding: 8px;
}
#dashUpcomingModal .dash-upcoming-tabs .btn{
  min-height: 34px;
  gap: 6px;
}
#dashUpcomingModal .dash-upcoming-tabs .btn .pill{
  min-width: 28px;
  text-align:center;
}
#dashUpcomingModal .dash-upcoming-group{
  padding: 12px;
  display:grid;
  gap:10px;
  border-color: color-mix(in srgb, var(--dash-stroke) 78%, rgb(var(--accent-rgb)) 22%);
}
#dashUpcomingModal .dash-upcoming-group__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
#dashUpcomingModal .dash-upcoming-group__head h4{
  margin:0;
}
#dashUpcomingModal .dash-upcoming-group__head .pill{
  border-color: color-mix(in srgb, var(--dash-stroke) 70%, rgb(var(--accent-rgb)) 30%);
  background: rgba(255,255,255,.58);
}
html[data-theme="dark"] #dashUpcomingModal .dash-upcoming-group__head .pill{
  background: rgba(15,23,42,.46);
}
#dashUpcomingModal .dash-modal__list{
  display:grid;
  gap: 12px;
  max-height: min(36vh, 360px);
  overflow:auto;
  padding-right: 2px;
}
#dashUpcomingModal .dash-upcoming-group.is-hidden{
  display:none !important;
}
#dashUpcomingModal .dash-ticket{
  background:
    radial-gradient(300px 120px at 100% 0, rgb(var(--accent-rgb)/.10), transparent 72%),
    var(--dash-card);
  border-color: color-mix(in srgb, var(--dash-stroke) 76%, rgb(var(--accent-rgb)) 24%);
}
#dashUpcomingModal .dash-ticket:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(2,6,23,.14);
}
html[data-theme="dark"] #dashUpcomingModal .dash-ticket:hover{
  box-shadow: 0 14px 30px rgba(0,0,0,.34);
}
#dashUpcomingModal .dash-ticket{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap: 10px;
  min-height: 112px;
}
#dashUpcomingModal .dash-ticket > *{
  position: relative;
  z-index: 1;
}
#dashUpcomingModal .dash-ticket__top{
  display:grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items:start;
  gap: 10px 12px;
}
#dashUpcomingModal .dash-ticket__top > div:first-child{
  min-width: 0;
}
#dashUpcomingModal .dash-ticket__title{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.32;
  word-break: break-word;
}
#dashUpcomingModal .dash-ticket__actions{
  align-self:start;
}
#dashUpcomingModal .dash-ticket__print{
  white-space: nowrap;
}
#dashUpcomingModal .dash-ticket__meta{
  line-height: 1.35;
}
@media (max-width: 900px){
  #dashUpcomingModal .dash-ticket__top{
    grid-template-columns: 1fr;
  }
  #dashUpcomingModal .dash-ticket__actions{
    justify-content:flex-start;
  }
}

#dashReleaseModal,
#dashReleaseListModal{
  --dash-card: linear-gradient(160deg, rgba(255,255,255,.94), rgba(255,255,255,.66));
  --dash-card-strong: linear-gradient(160deg, rgba(255,255,255,.98), rgba(255,255,255,.72));
  --dash-stroke: color-mix(in srgb, var(--stroke) 80%, white);
  --dash-shadow: 0 18px 50px rgba(2,6,23,.12);
  --dash-shadow-soft: 0 10px 26px rgba(2,6,23,.10);
}
html[data-theme="dark"] #dashReleaseModal,
html[data-theme="dark"] #dashReleaseListModal{
  --dash-card: linear-gradient(160deg, rgba(15,23,42,.72), rgba(15,23,42,.36));
  --dash-card-strong: linear-gradient(160deg, rgba(15,23,42,.78), rgba(15,23,42,.42));
  --dash-stroke: rgba(255,255,255,.14);
  --dash-shadow: 0 18px 50px rgba(0,0,0,.45);
  --dash-shadow-soft: 0 10px 26px rgba(0,0,0,.40);
}
#dashReleaseModal .dash-modal--release{
  width: min(980px, 96vw);
  border-radius: 24px;
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card-strong);
  box-shadow: var(--dash-shadow);
}
#dashReleaseModal .modal__header{
  border-bottom: 1px solid var(--dash-stroke);
}
#dashReleaseModal .dash-release-modal__head-actions{
  display:flex;
  gap: 8px;
  align-items:center;
  flex-wrap:wrap;
}
#dashReleaseModal .dash-release-modal__meta{
  display:flex;
  align-items:center;
  gap: 8px;
  flex-wrap:wrap;
}
#dashReleaseModal .dash-release-modal__content{
  display:grid;
  gap: 10px;
  border: 1px solid var(--dash-stroke);
  border-radius: 16px;
  background: var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
  padding: 14px;
  max-height: min(60vh, 640px);
  overflow:auto;
}
#dashReleaseModal .dash-release-modal__content > :first-child{ margin-top: 0; }
#dashReleaseModal .dash-release-modal__content > :last-child{ margin-bottom: 0; }
#dashReleaseModal .dash-release-modal__content h1,
#dashReleaseModal .dash-release-modal__content h2,
#dashReleaseModal .dash-release-modal__content h3,
#dashReleaseModal .dash-release-modal__content h4{
  margin: 14px 0 8px;
}
#dashReleaseModal .dash-release-modal__content p{
  margin: 8px 0;
  line-height: 1.45;
}
#dashReleaseModal .dash-release-modal__content ul,
#dashReleaseModal .dash-release-modal__content ol{
  margin: 8px 0 8px 18px;
}
#dashReleaseModal .dash-release-modal__content blockquote{
  margin: 10px 0;
  padding: 10px 12px;
  border-left: 4px solid rgb(var(--accent-rgb)/.40);
  border-radius: 10px;
  background: rgba(255,255,255,.07);
}
html[data-theme="dark"] #dashReleaseModal .dash-release-modal__content blockquote{
  background: rgba(15,23,42,.42);
}
#dashReleaseListModal .dash-modal--release-list{
  width: min(860px, 96vw);
  border-radius: 22px;
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card-strong);
  box-shadow: var(--dash-shadow);
}
#dashReleaseListModal .dash-release-list-tools{
  border: 1px solid var(--dash-stroke);
  background: var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
}
#dashReleaseListModal .dash-release-list-tools .form-grid{
  gap: 10px;
}
#dashReleaseListModal .dash-release-list-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  flex-wrap:wrap;
}
#dashReleaseListModal .dash-release-list{
  display:grid;
  gap: 10px;
  max-height: min(66vh, 680px);
  overflow:auto;
}
#dashReleaseListModal .dash-release-list-pager{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap: 8px;
  flex-wrap:wrap;
}
#dashReleaseListModal .dash-release-list__item{
  width: 100%;
  border: 1px solid var(--dash-stroke);
  border-radius: 14px;
  background: var(--dash-card);
  box-shadow: var(--dash-shadow-soft);
  text-align:left;
  padding: 12px;
  display:grid;
  gap: 8px;
  cursor: pointer;
  transition: var(--t);
  color: var(--text);
}
#dashReleaseListModal .dash-release-list__item .dash-release-list__title{
  color: var(--text);
}
#dashReleaseListModal .dash-release-list__item .pill{
  color: var(--text);
  border-color: var(--dash-stroke);
  background: rgba(255,255,255,.62);
}
html[data-theme="dark"] #dashReleaseListModal .dash-release-list__item .pill{
  color: #E5E7EB;
  background: rgba(15,23,42,.42);
}
#dashReleaseListModal .dash-release-list__item:hover{
  border-color: rgb(var(--accent-rgb)/.45);
  transform: translateY(-1px);
}
#dashReleaseListModal .dash-release-list__item:focus-visible{
  outline: 2px solid rgb(var(--accent-rgb)/.55);
  outline-offset: 2px;
}
#dashReleaseListModal .dash-release-list__top{
  display:flex;
  align-items:flex-start;
  gap: 8px;
  flex-wrap:wrap;
}
#dashReleaseListModal .dash-release-list__title{
  flex: 1 1 220px;
}
#dashReleaseListModal .dash-release-list__summary{
  margin: 0;
}
#dashReleaseListModal .dash-release-list__meta{
  font-size: 12px;
  color: var(--muted);
}

/* =========================
   REPORTS
   ========================= */
.reports-page{
  display:grid;
  gap:14px;
}
.reports-graphs{
  display:grid;
  gap:12px;
}
.reports-graphs--modern{
  gap:16px;
}
.reports-graphs--modern .reports-filters{
  position: relative;
  z-index: 40;
  overflow: visible;
  border-radius:24px;
  border-color: color-mix(in srgb, rgb(var(--accent-rgb)) 26%, var(--stroke));
  background:
    radial-gradient(circle at 92% -12%, rgb(var(--accent-rgb) / .18), transparent 48%),
    linear-gradient(150deg, rgba(255,255,255,.07), rgba(255,255,255,.02));
}
.reports-graphs--modern .reports-filters .form-grid,
.reports-graphs--modern .reports-filters .field{
  overflow: visible;
}
.reports-graphs--modern .reports-filters .searchselect.is-open{
  z-index: 14000 !important;
}
.reports-graphs--modern .dash-kpis,
.reports-graphs--modern .dash-performance,
.reports-graphs--modern .dash-lists--rankings,
.reports-graphs--modern .dash-charts{
  position: relative;
  z-index: 1;
}
.reports-graphs--modern .dash-chart,
.reports-graphs--modern .dash-list-card{
  border-radius:24px;
  border-color: color-mix(in srgb, rgb(var(--accent-rgb)) 20%, var(--dash-stroke));
  background:
    linear-gradient(150deg, rgba(255,255,255,.07), rgba(255,255,255,.02)),
    var(--dash-card);
}
.reports-graphs--modern .dash-lists--rankings{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.reports-graphs--modern .dash-performance{
  display:grid;
  gap: 16px;
}
.reports-graphs--modern .dash-performance .dash-list-card{
  gap: 14px;
}
.reports-graphs--modern .dash-chart--performance{
  gap: 10px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid var(--dash-stroke);
  background: rgba(255,255,255,.5);
}
html[data-theme="dark"] .reports-graphs--modern .dash-chart--performance{
  background: rgba(15,23,42,.35);
}
.reports-graphs--modern .dash-chart__canvas--performance{
  height: 220px;
}
.reports-graphs--modern .dash-performance .table-wrap{
  border-radius: 14px;
  border: 1px solid var(--dash-stroke);
  overflow: auto;
}
.reports-graphs--modern .dash-performance .table{
  min-width: 760px;
}
.reports-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.reports-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.reports-layout{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
  align-items:start;
}
.reports-menu{
  display:grid;
  gap:10px;
  position:relative;
  top:0;
}
.reports-menu__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.reports-menu__head h3{
  margin:0;
  font-size:1rem;
}
.reports-menu__head a{
  font-size:.9rem;
  text-decoration:none;
  color:rgb(var(--accent-rgb));
}
.reports-menu__cat{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:10px 12px;
  border-radius:14px;
  text-decoration:none;
  border:1px solid var(--stroke);
  background: linear-gradient(135deg, rgb(var(--accent-rgb)/.18), transparent);
  color:var(--text);
  font-weight:700;
  transition: transform var(--t), border-color var(--t), box-shadow var(--t);
}
.reports-menu__cat:nth-of-type(2){
  background: linear-gradient(135deg, rgb(14 165 233 / .22), transparent);
}
.reports-menu__cat:nth-of-type(4){
  background: linear-gradient(135deg, rgb(245 158 11 / .20), transparent);
}
.reports-menu__cat:nth-of-type(5){
  background: linear-gradient(135deg, rgb(16 185 129 / .20), transparent);
}
.reports-menu__cat:nth-of-type(6){
  background: linear-gradient(135deg, rgb(99 102 241 / .20), transparent);
}
.reports-menu__cat:hover{
  transform:translateY(-1px);
  border-color:rgb(var(--accent-rgb)/.36);
  box-shadow:0 14px 30px rgb(var(--accent-rgb)/.12);
}
.reports-menu__cat.is-active{
  border-color:rgb(var(--accent-rgb)/.48);
  box-shadow:0 14px 34px rgb(var(--accent-rgb)/.16);
}
.reports-menu__items{
  display:none;
  margin-top:-4px;
  padding:4px 8px 10px;
  border-left:2px dashed rgb(var(--accent-rgb)/.28);
}
.reports-menu__items.is-open{
  display:grid;
  gap:8px;
}
.reports-menu__items a{
  text-decoration:none;
  color:var(--text);
  padding:8px 10px;
  border-radius:10px;
  border:1px solid transparent;
}
.reports-menu__items a:hover{
  border-color:var(--stroke);
  background:rgba(255,255,255,.06);
}
.reports-menu__items a.is-active{
  border-color:rgb(var(--accent-rgb)/.38);
  background:linear-gradient(135deg, rgb(var(--accent-rgb)/.16), transparent);
}
.reports-panel{
  display:grid;
  gap:12px;
}
.reports-placeholder{
  padding:20px;
}
.reports-placeholder h3{
  margin:0 0 8px;
}
.reports-filters{
  display:grid;
  gap:12px;
}
.reports-filters-wrap{
  padding:0;
  overflow:hidden;
}
.reports-filters-wrap > summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  cursor:pointer;
  border-bottom:1px solid var(--stroke);
}
.reports-filters-wrap > summary::-webkit-details-marker{
  display:none;
}
.reports-filters-wrap__title h3{
  margin:0;
}
.reports-filters-wrap__title p{
  margin:6px 0 0;
}
.reports-filters-wrap__hint{
  font-size:.88rem;
  color:var(--muted);
  white-space:nowrap;
}
.reports-filters-wrap > .reports-filters{
  padding:12px;
}
.reports-filters__title h3{
  margin:0;
}
.reports-filters__title p{
  margin:6px 0 0;
}
.reports-multi{
  min-height:124px;
  border-radius:14px;
}
.reports-options-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:8px 16px;
  margin-top:8px;
}
.reports-print-tools{
  display:flex;
  justify-content:flex-end;
}
.reports-actions-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
}
.reports-actions-card__txt{
  display:grid;
  gap:4px;
}
.reports-actions-card__txt p{
  margin:0;
}
.reports-actions-card__buttons{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:8px;
}
.report-print-area{
  display:grid;
  gap:12px;
}
.report-title h3{
  margin:0;
}
.report-title p{
  margin:4px 0 0;
}
.report-kpis{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.report-status-summary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.report-table-wrap{
  overflow:auto;
}
.report-table{
  min-width:1080px;
}
.report-detail-row td{
  background:rgba(255,255,255,.03);
  font-size:.92rem;
}
.report-detail-row td > div{
  margin:3px 0;
}
.report-person-client{
  display:grid;
  gap:4px;
}
.report-person-client__title{
  font-size:1rem;
  font-weight:700;
}
.report-person-client__meta{
  display:grid;
  gap:2px;
  font-size:.86rem;
}
.report-person-contacts{
  display:grid;
  gap:8px;
}
.report-person-contact__name{
  font-size:.92rem;
  font-weight:600;
}
.report-person-contact__meta{
  font-size:.84rem;
  margin-top:2px;
}
.reports-error{
  border-color:rgb(220 38 38 / .35);
  color:#fca5a5;
}

@media (max-width: 1100px){
  .reports-layout{
    grid-template-columns: 1fr;
  }
  .reports-menu{
    position:relative;
    top:0;
  }
  .reports-options-grid{
    grid-template-columns: 1fr;
  }
  .reports-actions-card{
    flex-direction:column;
    align-items:flex-start;
  }
  .reports-actions-card__buttons{
    width:100%;
  }
  .reports-graphs--modern .dash-lists--rankings{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px){
  .reports-graphs--modern .dash-lists--rankings{
    grid-template-columns: 1fr;
  }
  .reports-graphs--modern .dash-chart__canvas--performance{
    height: 200px;
  }
}

@media print{
  body.printing-report .topbar,
  body.printing-report .sidebar,
  body.printing-report .reports-page [data-no-print],
  body.printing-report .reports-page .reports-layout > .reports-menu,
  body.printing-report .reports-page .reports-panel > :not(.report-print-area){
    display:none !important;
  }

  body.printing-report .main{
    margin:0 !important;
    padding:0 !important;
  }
  body.printing-report .content-wrap{
    max-width:none !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
  body.printing-report .reports-page,
  body.printing-report .reports-page .card,
  body.printing-report .report-print-area{
    border:none !important;
    border-radius:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    color:#111 !important;
    padding:0 !important;
  }
  body.printing-report .report-table{
    min-width:0 !important;
    width:100% !important;
  }
  body.printing-report .report-table th,
  body.printing-report .report-table td{
    border-color:#ddd !important;
  }
}

.page-dashboard .dash-tooltip{
  position:absolute;
  pointer-events:none;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid var(--dash-stroke);
  background: rgba(15,23,42,.9);
  color: #fff;
  font-size: 12px;
  box-shadow: var(--dash-shadow-soft);
  z-index: 10;
  transform: translate(-50%, -110%);
  white-space: nowrap;
}

@media (max-width: 980px){
  .page-dashboard .dash-hero{ flex-direction:column; align-items:flex-start; }
  .page-dashboard .dash-hero__right{ align-items:flex-start; }
  .page-dashboard .dash-notes__head{ align-items:stretch; }
  #dashReleaseModal .dash-release-modal__head-actions{ width:100%; justify-content:flex-start; }
  #dashReleaseListModal .dash-release-list-meta{ align-items:flex-start; }
  #dashReleaseListModal .dash-release-list-pager{ justify-content:flex-start; }
  .page-dashboard .dash-notes__grid{ grid-template-columns: 1fr; }
  .page-dashboard .dash-calendar-layout{ grid-template-columns: 1fr; }
  .page-dashboard .dash-chart__split{ grid-template-columns: 1fr; }
  .page-dashboard .dash-charts{ grid-template-columns: 1fr; }
  .page-dashboard .dash-lists{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px){
  .page-dashboard .dash-cal-board{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .page-dashboard .dash-cal-weekdays,
  .page-dashboard .dash-cal-grid{
    min-width: 700px;
  }
  .page-dashboard .dash-day{ min-height: 108px; }
  .page-dashboard .dash-day__weekday{ display:block; }
  .page-dashboard .dash-lists{ grid-template-columns: 1fr; }
}

.brand-logo{
  width: 48px;
  height: 48px;
  border-radius: 8px;
  object-fit: contain;
}

/* ===== Logo no lugar do MH ===== */
.auth-logo{
  width: 46px;
  height: 46px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.55);
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
  overflow: hidden;
}
html[data-theme="dark"] .auth-logo{
  background: rgba(0,0,0,.28);
  box-shadow: 0 14px 36px rgba(0,0,0,.35);
}
.auth-logo img{
  width: 78%;
  height: 78%;
  object-fit: contain;
  display: block;
}

/* versÃ£o pequena */
.auth-logo--sm{
  width: 34px;
  height: 34px;
  border-radius: 12px;
}
.auth-logo--sm img{ width: 82%; height: 82%; }

/* ===== Fundo desfocado com a logo ===== */
.auth-hero,
.auth-card{
  position: relative;
  overflow: hidden;
}

.auth-blur-bg{
  position: absolute;
  inset: -30px;
  background: url("../img/logo-png.png") center/360px no-repeat;
  opacity: .12;
  filter: blur(14px);
  transform: rotate(-10deg) scale(1.1);
  pointer-events: none;
  z-index: 0;
}

/* no card do form um pouco mais discreto */
.auth-blur-bg--form{
  background-size: 300px;
  opacity: .08;
  transform: rotate(8deg) scale(1.12);
}

/* garante que o conteÃºdo fique acima do blur */
.auth-hero > *:not(.auth-blur-bg),
.auth-card > *:not(.auth-blur-bg){
  position: relative;
  z-index: 1;
}

/* SearchSelect: global stabilization (all views) */
:root{
  --ss-pop-max-h: min(320px, 42vh);
  --ss-pop-z: 1200;
}

.searchselect{
  position: relative;
}

.searchselect.is-open{
  z-index: var(--ss-pop-z) !important;
}

.searchselect .ss-list{
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  position: absolute;
  z-index: calc(var(--ss-pop-z) + 1) !important;
  max-height: var(--ss-pop-max-h) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--stroke) 78%, rgb(var(--accent-rgb)) 22%);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 252, 255, .94)),
    radial-gradient(280px 120px at 10% 0%, rgb(var(--accent-rgb) / .10), transparent 72%);
  backdrop-filter: blur(12px);
  box-shadow:
    0 22px 50px rgba(2, 6, 23, .18),
    0 1px 0 rgba(255, 255, 255, .65) inset;
}

html[data-theme="dark"] .searchselect .ss-list{
  background:
    linear-gradient(180deg, rgba(7, 16, 28, .98), rgba(10, 18, 32, .96)),
    radial-gradient(280px 120px at 10% 0%, rgb(var(--accent-rgb) / .16), transparent 70%);
  box-shadow:
    0 22px 50px rgba(0, 0, 0, .42),
    0 1px 0 rgba(255, 255, 255, .06) inset;
}

.searchselect .ss-list::-webkit-scrollbar{
  width: 10px;
}

.searchselect .ss-list::-webkit-scrollbar-thumb{
  border-radius: 999px;
  background: linear-gradient(180deg, rgb(var(--accent-rgb) / .58), rgb(var(--accent-rgb) / .32));
}

.searchselect .ss-list::-webkit-scrollbar-track{
  border-radius: 999px;
  background: rgba(255, 255, 255, .05);
}

.searchselect .dropdown__item,
.searchselect .ss-list .dropdown__item{
  width: 100%;
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
  line-height: 1.2;
  font-size: 13px;
  letter-spacing: .01em;
  transition: background var(--t), border-color var(--t), transform var(--t);
}

.searchselect .dropdown__item:hover,
.searchselect .ss-list .dropdown__item:hover{
  background: linear-gradient(135deg, rgb(var(--accent-rgb) / .16), transparent);
  border-color: rgb(var(--accent-rgb) / .36);
  transform: translateY(-1px);
}

.searchselect .dropdown__item.is-active,
.searchselect .ss-list .dropdown__item.is-active{
  background: linear-gradient(135deg, rgb(var(--accent-rgb) / .16), transparent);
  border-color: rgb(var(--accent-rgb) / .36);
  transform: translateY(-1px);
}

.searchselect .dropdown__item .name{
  min-width: 0;
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 650 !important;
  line-height: 1.3;
}

.searchselect .dropdown__item .sw,
.searchselect .dropdown__item .dot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  flex: 0 0 auto;
}

.searchselect .dropdown__item .right{
  margin-left: 8px;
  white-space: nowrap;
  opacity: .76;
  font-size: 11px;
  font-weight: 500;
}

/* Evita corte vertical/horizontal de texto no valor selecionado */
.searchselect .ss-input{
  line-height: 1.25;
  text-align: left;
  padding-top: 10px;
  padding-bottom: 10px;
}

/* Select nativo custom: alinhado a esquerda por padrao */
.searchselect[data-native="1"] .ss-input{
  text-align: left !important;
}

/* =========================================================
   Mobile hardening - topbar/sidebar + cadastros + table cards
   ========================================================= */
.topbar-left,
.topbar-right,
.brand,
.userpill,
.userpill-main,
.userpill-txt{
  min-width: 0;
}

.userpill-txt strong,
.userpill-txt .muted{
  display: block;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.topbar-right{
  margin-left: auto;
}

.topbar-logout{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.seg-tabs{
  align-items: center;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}

.seg-tabs > .btn{
  flex: 0 0 auto;
  white-space: nowrap;
}

.seg-tabs .btn.primary{
  margin-left: auto;
}

.table.table-mobile-card{
  min-width: 0 !important;
}

@media (max-width: 1160px){
  .topbar-right .userpill .userpill-txt{
    display: none;
  }

  .mhd-theme__track{
    --w: 120px;
  }
}

@media (max-width: 980px){
  :root{
    --topbar-h: 60px;
  }

  .topbar{
    padding: 8px 10px;
    gap: 8px;
  }

  .topbar-left{
    flex: 1 1 auto;
  }

  .brand{
    gap: 8px;
    min-width: 0;
  }

  .brand-logo{
    width: 42px;
    height: 42px;
  }

  .brand-txt strong{
    font-size: .92rem;
  }

  .brand-txt .muted,
  .topbar-right > .chip.sm{
    display: none;
  }

  .topbar-right{
    gap: 6px;
  }

  .mhd-theme__track{
    --w: 102px;
    --h: 34px;
    --p: 4px;
    --thumb: 26px;
  }

  .mhd-theme__text{
    font-size: .78rem;
  }

  .userpill{
    padding: 4px 5px;
    gap: 6px;
  }

  .userpill-main .avatar{
    width: 32px;
    height: 32px;
  }

  .topbar-logout{
    min-height: 34px;
    width: 34px;
    padding: 0;
    border-radius: 12px;
    justify-content: center;
  }

  .topbar-logout span{
    display: none;
  }

  .sidebar{
    width: min(360px, 92vw);
    padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  }

  .nav{
    padding-bottom: 24px;
  }

  :is(.people-page, .access-page, .catalog, .accounting-page) .tk-head{
    flex-direction: column;
    align-items: stretch;
  }

  :is(.people-page, .access-page, .catalog, .accounting-page) .tk-head__right{
    justify-content: flex-start;
  }

  :is(.people-page, .access-page, .catalog, .accounting-page) .tk-foot{
    align-items: stretch;
  }

  :is(.people-page, .access-page, .catalog, .accounting-page) .tk-foot__right{
    width: 100%;
    justify-content: flex-start;
    align-items: stretch;
  }

  :is(.people-page, .access-page, .catalog, .accounting-page) .tk-perpage{
    align-items: flex-start;
  }

  :is(.people-page, .access-page, .catalog, .accounting-page) .tk-page-list{
    flex-wrap: nowrap;
    overflow-x: auto;
    max-width: 100%;
    padding-bottom: 2px;
  }

  #teamMemberGrid{
    grid-template-columns: 1fr !important;
    max-height: 46dvh !important;
  }

  #permGroups [data-perm-group] > div:last-child{
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 860px){
  .table.table-mobile-card,
  .table.table-mobile-card tbody,
  .table.table-mobile-card tr,
  .table.table-mobile-card td{
    display: block;
    width: 100%;
  }

  .table.table-mobile-card thead{
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .table.table-mobile-card tbody{
    display: grid;
    gap: 10px;
    padding: 10px;
  }

  .table.table-mobile-card tbody tr{
    border: 1px solid var(--stroke);
    border-radius: 16px;
    background: var(--glass);
    box-shadow: var(--shadow2);
    padding: 7px 10px;
  }

  .table.table-mobile-card tbody tr.mhd-row-placeholder td{
    display: block;
    padding: 8px 0;
  }

  .table.table-mobile-card td{
    border: 0;
    padding: 8px 2px;
    display: grid;
    grid-template-columns: minmax(100px, .95fr) minmax(0, 1.5fr);
    gap: 8px;
    align-items: flex-start;
  }

  .table.table-mobile-card td::before{
    content: attr(data-label);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.3;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--muted);
  }

  .table.table-mobile-card td.td-primary::before{
    color: rgb(var(--accent-rgb));
  }

  .table.table-mobile-card td[colspan]{
    grid-template-columns: 1fr;
  }

  .table.table-mobile-card td[colspan]::before{
    content: none;
  }

  .table.table-mobile-card td .actions,
  .table.table-mobile-card .actions{
    justify-content: flex-start;
  }
}

@media (max-width: 640px){
  .main{
    padding: calc(var(--topbar-h) + 10px) 10px 12px;
  }

  .card{
    padding: 12px;
    border-radius: 16px;
  }

  .seg-tabs{
    padding: 8px;
    gap: 8px;
  }

  .seg-tabs .btn{
    min-height: 36px;
    padding-inline: 11px;
  }
}

/* =========================================================
   SAAS - Notas de Versao
   ========================================================= */
.saas-release-page .tk-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.saas-release-page .tk-title{ margin:0; }
.saas-release-page .tk-subtitle{ margin:6px 0 0; }
.saas-release-page .tk-kpis{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

.srn-editor{
  padding:10px;
  border-radius:16px;
  border:1px solid var(--stroke);
  display:grid;
  gap:10px;
}

.srn-editor__toolbar{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.srn-editor__toolbar .btn{
  min-height:34px;
}

.srn-editor__body,
.srn-editor__source{
  width:100%;
  min-height:280px;
  border:1px solid var(--stroke);
  border-radius:14px;
  background:var(--surface);
  color:var(--text);
  padding:12px;
}

.srn-editor__body{
  outline:none;
  line-height:1.5;
  overflow:auto;
}

.srn-editor__body:empty::before{
  content:"Escreva a nota de versao...";
  color:var(--muted);
}

.srn-editor__source{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  resize: vertical;
}

.srn-editor__body p{ margin:0 0 10px; }
.srn-editor__body ul,
.srn-editor__body ol{ margin:0 0 10px 18px; }
.srn-editor__body blockquote{
  margin:8px 0;
  padding:10px 12px;
  border-left:4px solid rgb(var(--accent-rgb)/.45);
  background:rgba(255,255,255,.06);
  border-radius:10px;
}
.srn-editor__body pre{
  margin:8px 0;
  padding:10px;
  border-radius:10px;
  background:rgba(0,0,0,.10);
  border:1px solid rgba(255,255,255,.10);
  overflow:auto;
}

.page-dashboard .dash-note-card__meta{
  margin-top:8px;
  font-size:12px;
}

@media (max-width: 980px){
  .saas-release-page .tk-head{
    flex-direction:column;
    align-items:stretch;
  }

  .saas-release-page .tk-head__right{
    width:100%;
    justify-content:flex-start;
  }

  .srn-editor__body,
  .srn-editor__source{
    min-height:220px;
  }
}

/* =========================================================
   Plantao - Calendar Responsive Fixes
   ========================================================= */
.page-plantao .plantao-control-grid > *{
  min-width: 0;
}

.page-plantao .plantao-calendar{
  min-width: 0;
  overflow: hidden;
}

.page-plantao .plantao-calendar .dash-section__head{
  align-items: flex-start;
}

.page-plantao .plantao-calendar .dash-section__head > div{
  min-width: 0;
}

.page-plantao .plantao-calendar .dash-section__actions{
  margin-left: auto;
}

.page-plantao .plantao-calendar .dash-cal-nav{
  width: 100%;
  max-width: 360px;
  justify-content: flex-end;
}

.page-plantao .plantao-calendar .dash-cal-label{
  min-width: 0;
  flex: 1 1 auto;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (max-width: 720px){
  .page-plantao{
    padding-left: 12px;
    padding-right: 12px;
  }

  .page-plantao .plantao-wrap{
    padding: 14px;
  }

  .page-plantao .plantao-calendar{
    padding: 12px;
    overflow: hidden;
  }

  .page-plantao .plantao-calendar .dash-cal-board{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .page-plantao .plantao-calendar .dash-cal-weekdays,
  .page-plantao .plantao-calendar .dash-cal-grid{
    min-width: 700px;
  }

  .page-plantao .plantao-calendar .dash-day{
    min-height: 100px;
    padding: 8px;
  }

  .page-plantao .plantao-calendar .dash-day__head{
    display: flex !important;
  }

  .page-plantao .plantao-calendar .dash-day__badge{
    display: inline-flex;
  }

  .page-plantao .plantao-calendar .dash-cal-nav{
    max-width: none;
  }
}

/* =========================================================
   Tickets Form - Alignment Fix (Cliente / Participantes)
   ========================================================= */
.page-chamados #form-chamado .grid-line1,
.page-chamados #form-chamado .grid-line2{
  align-items: start;
}

.page-chamados #form-chamado .grid-line1 .client-wrap{
  display: grid;
  align-content: start;
  gap: 6px;
}

.page-chamados #form-chamado .client-wrap .label-row{
  min-height: 0;
  margin-bottom: 0;
  padding-right: 0;
}

.page-chamados #form-chamado .client-wrap .contact-pill{
  position: static;
  margin-left: auto;
  max-width: min(55%, 340px);
}

.page-chamados #form-chamado .client-wrap .contact-pill.is-hidden{
  display: none;
}

.page-chamados #form-chamado .client-row{
  min-height: var(--control-h);
  align-items: stretch;
}

.page-chamados #form-chamado .client-row .icon-btn,
.page-chamados #form-chamado .client-row .contact-btn{
  width: var(--control-h);
  height: var(--control-h);
  min-height: var(--control-h);
}

.page-chamados #form-chamado .participants .participants-row{
  margin-top: 0 !important;
  min-height: var(--control-h);
  align-items: center;
  gap: 10px;
}

.page-chamados #form-chamado .participants .participants-row .btn{
  flex: 1 1 auto;
  min-height: var(--control-h);
}

.page-chamados #form-chamado .participants .participants-pill{
  min-height: var(--control-h);
  padding: 0 12px;
  white-space: nowrap;
}

/* =========================================================
   Tickets Form - Status Readonly (Professional UI)
   ========================================================= */
.page-chamados #form-chamado #tkStatusReadonly{
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: var(--control-h);
  padding: 0 12px 0 14px;
  border-radius: 14px;
  border: 1px solid rgb(var(--accent-rgb) / .24);
  background:
    linear-gradient(115deg, rgb(var(--accent-rgb) / .10), rgb(var(--accent2-rgb) / .06)) padding-box,
    linear-gradient(145deg, rgb(255 255 255 / .68), rgb(255 255 255 / .20)) border-box;
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / .72),
    0 10px 24px rgb(var(--accent-rgb) / .10);
}

.page-chamados #form-chamado #tkStatusReadonly::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 14px 0 0 14px;
  background: linear-gradient(180deg, rgb(var(--accent-rgb) / .75), rgb(var(--accent2-rgb) / .75));
}

.page-chamados #form-chamado #tkStatusDot{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  flex: 0 0 auto;
  box-shadow: 0 0 0 3px rgb(var(--accent-rgb) / .15);
}

.page-chamados #form-chamado .tk-status-value{
  min-width: 0;
  font-weight: 800;
  letter-spacing: .01em;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.page-chamados #form-chamado .tk-status-meta{
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 10px;
  border-radius: 999px;
  border: 1px solid rgb(var(--accent-rgb) / .22);
  background: rgb(var(--accent-rgb) / .10);
  color: rgb(11 123 71);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  white-space: nowrap;
}

html[data-theme="dark"] .page-chamados #form-chamado #tkStatusReadonly{
  border-color: rgb(var(--accent-rgb) / .34);
  background:
    linear-gradient(115deg, rgb(var(--accent-rgb) / .18), rgb(var(--accent2-rgb) / .10)) padding-box,
    linear-gradient(145deg, rgb(148 163 184 / .25), rgb(15 23 42 / .25)) border-box;
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / .06),
    0 10px 28px rgb(2 6 23 / .42);
}

html[data-theme="dark"] .page-chamados #form-chamado .tk-status-meta{
  border-color: rgb(var(--accent-rgb) / .38);
  background: rgb(var(--accent-rgb) / .16);
  color: rgb(167 243 208);
}

@media (max-width: 980px){
  .page-chamados #form-chamado .tk-status-meta{
    display: none;
  }
}

/* =========================================================
   Tickets Form (novo.php) - Responsive hardening
   ========================================================= */
#ticketNew.page-chamados{
  overflow-x: clip;
}
#ticketNew.page-chamados .ch-head__left,
#ticketNew.page-chamados .ch-head__right,
#ticketNew.page-chamados #form-chamado .grid-line1 > *,
#ticketNew.page-chamados #form-chamado .grid-line2 > *{
  min-width: 0;
}
#ticketNew.page-chamados .ch-titlefield{
  max-width: 100%;
}
#ticketNew.page-chamados .ch-title-input{
  min-width: 0;
  width: 100%;
  flex: 1 1 auto;
}
#ticketNew.page-chamados #form-chamado .client-row .searchselect{
  min-width: 0 !important;
  width: 100%;
  flex: 1 1 auto;
}
#ticketNew.page-chamados #ap-form .ap-grid-main{
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
}
#ticketNew.page-chamados #ap-form .ap-grid-meta{
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
}
#ticketNew.page-chamados #ap-form .ap-grid-main > *,
#ticketNew.page-chamados #ap-form .ap-grid-meta > *{
  min-width: 0;
}
#ticketNew.page-chamados #ap-form > .flex.mt-3{
  flex-wrap: wrap;
}
#ticketNew.page-chamados #ap-form > .flex.mt-3 .btn{
  min-width: 0;
}

@media (max-width: 1280px){
  #ticketNew.page-chamados #form-chamado .grid-line1,
  #ticketNew.page-chamados #form-chamado .grid-line2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #ticketNew.page-chamados #ap-form .ap-grid-main{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  #ticketNew.page-chamados #ap-form .ap-grid-meta{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 980px){
  #ticketNew.page-chamados{
    padding: 12px 10px;
  }

  #ticketNew.page-chamados .ch-head__right{
    width: 100%;
    justify-content: flex-start !important;
  }
  #ticketNew.page-chamados .ch-head__right .ch-schedule{
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 8px;
  }
  #ticketNew.page-chamados .ch-head__right .ch-schedule .ch-schedule-dt{
    width: 100%;
    min-width: 0;
  }

  #ticketNew.page-chamados #form-chamado .grid-line1,
  #ticketNew.page-chamados #form-chamado .grid-line2{
    grid-template-columns: 1fr;
  }

  #ticketNew.page-chamados #form-chamado .participants .participants-row{
    flex-wrap: wrap;
    align-items: stretch;
  }
  #ticketNew.page-chamados #form-chamado .participants .participants-row .btn{
    flex: 1 1 100%;
    min-width: 0;
  }
  #ticketNew.page-chamados #form-chamado .participants .participants-pill{
    align-self: flex-start;
  }

  #ticketNew.page-chamados .ap-callout{
    flex-direction: column;
    align-items: stretch;
  }
  #ticketNew.page-chamados .ap-callout .btn.primary{
    width: 100%;
    justify-content: center;
  }

  #ticketNew.page-chamados #ap-form .ap-grid-main,
  #ticketNew.page-chamados #ap-form .ap-grid-meta{
    grid-template-columns: 1fr !important;
  }

  #ticketNew.page-chamados #form-chamado .ch-actions{
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch !important;
  }
  #ticketNew.page-chamados #form-chamado .ch-actions .btn,
  #ticketNew.page-chamados #form-chamado .ch-actions a.btn{
    width: 100%;
    justify-content: center;
  }

  #ticketNew.page-chamados #ap-form > .flex.mt-3 .btn{
    flex: 1 1 100%;
    justify-content: center;
  }
}

/* =========================================================
   Tickets List - Visual Retouch (isolated and reversible)
   ========================================================= */
:root{
  --tickets-retouch: 1;
}

.page-chamados-list{
  --tk-panel-bg: linear-gradient(140deg, rgb(255 255 255 / .86), rgb(255 255 255 / .72));
  --tk-panel-stroke: rgb(15 23 42 / .14);
  --tk-head-bg: linear-gradient(180deg, rgb(255 255 255 / .88), rgb(255 255 255 / .54));
  --tk-row-alt: rgb(148 163 184 / .045);
  --tk-row-hover: linear-gradient(135deg, rgb(var(--accent-rgb) / .10), rgb(var(--accent2-rgb) / .06) 64%, transparent);
  --tk-muted-strong: rgb(71 85 105 / .94);
}

html[data-theme="dark"] .page-chamados-list{
  --tk-panel-bg: linear-gradient(145deg, rgb(15 23 42 / .78), rgb(11 18 32 / .72));
  --tk-panel-stroke: rgb(148 163 184 / .34);
  --tk-head-bg: linear-gradient(180deg, rgb(30 41 59 / .80), rgb(15 23 42 / .58));
  --tk-row-alt: rgb(148 163 184 / .07);
  --tk-row-hover: linear-gradient(135deg, rgb(34 197 94 / .16), rgb(14 165 233 / .08) 64%, transparent);
  --tk-muted-strong: rgb(203 213 225 / .95);
}

.page-chamados-list .grid > .card.glass{
  background:
    radial-gradient(1200px 420px at 85% -12%, rgb(var(--accent-rgb) / calc(var(--tickets-retouch) * .14)), transparent 62%),
    radial-gradient(980px 420px at 12% 122%, rgb(var(--accent2-rgb) / calc(var(--tickets-retouch) * .10)), transparent 64%),
    var(--tk-panel-bg);
  border-color: var(--tk-panel-stroke);
  box-shadow: 0 30px 90px rgb(2 6 23 / calc(var(--tickets-retouch) * .15));
}

html[data-theme="dark"] .page-chamados-list .grid > .card.glass{
  box-shadow: 0 36px 96px rgb(2 6 23 / .52);
}

.page-chamados-list .tk-filters,
.page-chamados-list .table-wrap,
.page-chamados-list .tk-foot{
  border-color: var(--tk-panel-stroke);
  background:
    linear-gradient(145deg, rgb(255 255 255 / .44), transparent 48%),
    var(--tk-panel-bg);
}

html[data-theme="dark"] .page-chamados-list .tk-filters,
html[data-theme="dark"] .page-chamados-list .table-wrap,
html[data-theme="dark"] .page-chamados-list .tk-foot{
  background:
    linear-gradient(145deg, rgb(255 255 255 / .05), transparent 48%),
    var(--tk-panel-bg);
}

.page-chamados-list .table thead th{
  background: var(--tk-head-bg);
  border-bottom-color: rgb(148 163 184 / .26);
}

.page-chamados-list .table td{
  border-bottom-color: rgb(148 163 184 / .20);
}

.page-chamados-list .table tbody tr:nth-child(even):not(.tk-row--closed):not(.is-selected){
  background: var(--tk-row-alt);
}

.page-chamados-list .table tbody tr:hover{
  background: var(--tk-row-hover);
}

.page-chamados-list .muted{
  color: var(--tk-muted-strong);
}

.page-chamados-list .tk-ticket-title-link{
  letter-spacing: .004em;
}

.page-chamados-list .tk-row-action-btn{
  border-color: rgb(148 163 184 / .28);
  background: linear-gradient(145deg, rgb(255 255 255 / .58), rgb(255 255 255 / .34));
  box-shadow: 0 10px 22px rgb(2 6 23 / .10);
}

html[data-theme="dark"] .page-chamados-list .tk-row-action-btn{
  border-color: rgb(148 163 184 / .38);
  background: linear-gradient(145deg, rgb(30 41 59 / .72), rgb(15 23 42 / .52));
  box-shadow: 0 12px 24px rgb(2 6 23 / .44);
}

.page-chamados-list .tk-filters__actions .btn.ghost{
  border-color: rgb(148 163 184 / .38);
  background: linear-gradient(145deg, rgb(148 163 184 / .20), rgb(148 163 184 / .08));
}

html[data-theme="dark"] .page-chamados-list .tk-filters__actions .btn.ghost{
  background: linear-gradient(145deg, rgb(148 163 184 / .22), rgb(51 65 85 / .12));
}

/* =========================================================
   Global Chrome Retouch - Topbar + Sidebar (reversible)
   Set --chrome-retouch: 0 to disable.
   ========================================================= */
:root{
  --chrome-retouch: .32;
}

.topbar{
  background:
    radial-gradient(980px 280px at 55% -140%, rgb(var(--accent-rgb) / calc(var(--chrome-retouch) * .08)), transparent 66%),
    linear-gradient(
      180deg,
      rgb(255 255 255 / calc(.78 + (var(--chrome-retouch) * .04))),
      rgb(255 255 255 / calc(.48 + (var(--chrome-retouch) * .04)))
    );
  border-bottom-color: rgb(15 23 42 / .09);
  box-shadow: 0 8px 20px rgb(15 23 42 / .08);
}

html[data-theme="dark"] .topbar{
  background:
    radial-gradient(980px 300px at 48% -150%, rgb(var(--accent-rgb) / calc(var(--chrome-retouch) * .10)), transparent 68%),
    linear-gradient(180deg, rgb(13 19 33 / .82), rgb(5 10 20 / .70));
  border-bottom-color: rgb(148 163 184 / .18);
  box-shadow: 0 12px 30px rgb(2 6 23 / .48);
}

.topbar .search input{
  border-color: rgb(100 116 139 / .20);
  background:
    radial-gradient(420px 120px at 40% 0%, rgb(var(--accent-rgb) / calc(var(--chrome-retouch) * .05)), transparent 68%),
    linear-gradient(145deg, rgb(255 255 255 / .94), rgb(248 250 252 / .88));
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / .92),
    0 6px 14px rgb(15 23 42 / .06);
}

html[data-theme="dark"] .topbar .search input{
  border-color: rgb(148 163 184 / .24);
  background:
    radial-gradient(420px 120px at 42% 0%, rgb(var(--accent-rgb) / calc(var(--chrome-retouch) * .07)), transparent 68%),
    linear-gradient(145deg, rgb(24 32 48 / .82), rgb(14 20 34 / .74));
  box-shadow:
    inset 0 1px 0 rgb(255 255 255 / .06),
    0 8px 18px rgb(2 6 23 / .38);
}

.topbar .userpill{
  border-color: rgb(100 116 139 / .22);
  background: linear-gradient(145deg, rgb(255 255 255 / .92), rgb(248 250 252 / .84));
  box-shadow: 0 8px 16px rgb(15 23 42 / .06);
}

html[data-theme="dark"] .topbar .userpill{
  border-color: rgb(148 163 184 / .26);
  background: linear-gradient(145deg, rgb(27 36 54 / .76), rgb(14 20 34 / .70));
  box-shadow: 0 8px 18px rgb(2 6 23 / .36);
}

.sidebar{
  background:
    radial-gradient(980px 520px at 26% -8%, rgb(var(--accent-rgb) / calc(var(--chrome-retouch) * .06)), transparent 64%),
    linear-gradient(180deg, rgb(255 255 255 / .88), rgb(248 250 252 / .82));
  border-right-color: rgb(15 23 42 / .09);
  box-shadow: 12px 0 28px rgb(15 23 42 / .10);
}

html[data-theme="dark"] .sidebar{
  background:
    radial-gradient(980px 520px at 26% -8%, rgb(var(--accent-rgb) / calc(var(--chrome-retouch) * .08)), transparent 64%),
    linear-gradient(180deg, rgb(12 18 30 / .86), rgb(6 11 21 / .80));
  border-right-color: rgb(148 163 184 / .18);
  box-shadow: 14px 0 34px rgb(2 6 23 / .50);
}

.sidebar-head{
  border-color: rgb(100 116 139 / .22);
  background:
    linear-gradient(145deg, rgb(255 255 255 / .94), rgb(241 245 249 / .86));
  box-shadow: 0 6px 14px rgb(15 23 42 / .06);
}

html[data-theme="dark"] .sidebar-head{
  border-color: rgb(148 163 184 / .24);
  background:
    linear-gradient(145deg, rgb(24 33 48 / .78), rgb(14 20 34 / .74));
  box-shadow: 0 8px 16px rgb(2 6 23 / .34);
}

.nav-title{
  color: rgb(71 85 105 / .76);
}

html[data-theme="dark"] .nav-title{
  color: rgb(203 213 225 / .78);
}

.nav-item{
  border-color: rgb(100 116 139 / .12);
}

.nav-item .nav-ic{
  border-color: rgb(100 116 139 / .22);
}

html[data-theme="dark"] .nav-item{
  border-color: rgb(148 163 184 / .18);
  background: linear-gradient(145deg, rgb(30 41 59 / .14), transparent);
}

html[data-theme="dark"] .nav-item .nav-ic{
  border-color: rgb(148 163 184 / .28);
  background:
    radial-gradient(240px 180px at 18% 14%, rgb(var(--accent-rgb) / .12), transparent 62%),
    linear-gradient(145deg, rgb(27 36 54 / .80), rgb(14 20 34 / .72));
  box-shadow: 0 6px 14px rgb(2 6 23 / .34);
}

/* =========================================================
   Sidebar Nav - Outline Cleanup (flat/pro)
   ========================================================= */
.sidebar .nav-item{
  border-color: transparent;
  box-shadow: none;
}

.sidebar .nav-item .nav-ic{
  border-color: transparent;
  box-shadow: none;
}

.sidebar .nav-item:hover{
  border-color: transparent;
  box-shadow: 0 8px 18px rgb(15 23 42 / .10);
}

.sidebar .nav-item.is-active{
  border-color: transparent;
  box-shadow: 0 10px 22px rgb(var(--accent-rgb) / .14);
}

html[data-theme="dark"] .sidebar .nav-item{
  border-color: transparent;
  background: linear-gradient(145deg, rgb(30 41 59 / .10), transparent);
  box-shadow: none;
}

html[data-theme="dark"] .sidebar .nav-item .nav-ic{
  border-color: transparent;
  background:
    radial-gradient(220px 170px at 20% 16%, rgb(var(--accent-rgb) / .09), transparent 64%),
    linear-gradient(145deg, rgb(25 34 51 / .74), rgb(13 19 33 / .68));
  box-shadow: none;
}

html[data-theme="dark"] .sidebar .nav-item:hover{
  border-color: transparent;
  box-shadow: 0 8px 18px rgb(2 6 23 / .38);
}

html[data-theme="dark"] .sidebar .nav-item.is-active{
  border-color: transparent;
  box-shadow: 0 10px 22px rgb(var(--accent-rgb) / .16);
}

/* =========================================================
   Radius Tuning (quase quadrado)
   ========================================================= */
.btn,
.chip,
.icon-btn,
.pill,
.tk-page-btn,
.tk-page-info,
.kbd-hint{
  border-radius: var(--r-chip) !important;
}

input[type="text"],
input:not([type]),
input[type="search"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="month"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
select,
textarea,
.input,
.ss-input{
  border-radius: var(--r-input) !important;
}

/* =========================================================
   Altura unificada: inputs e selects (global)
   ========================================================= */
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]),
select,
.searchselect .ss-input{
  box-sizing: border-box;
  min-height: var(--control-h) !important;
  height: var(--control-h) !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
}

.searchselect{
  min-height: var(--control-h);
}

.card,
.table-wrap,
.searchbar__input,
.sidebar-head{
  border-radius: var(--r-card) !important;
}

.nav-item{
  border-radius: var(--r-chip) !important;
}

.nav-item .nav-ic,
.sidebar-collapse{
  border-radius: var(--r-ic) !important;
}

.modal__dialog,
.mhd-modal .modal__dialog{
  border-radius: var(--r-modal) !important;
}

/* =========================================================
   Unified Filter Bar (global)
   ========================================================= */
.tk-filters.uf-ready{
  padding: 12px;
}

.tk-filters .uf-bar{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.tk-filters .uf-actions{
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  min-height: 40px;
}

.tk-filters .uf-right{
  margin-left: auto;
  display: flex;
  align-items: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.tk-filters .uf-search{
  min-width: min(460px, 100%);
  max-width: min(640px, 100%);
  width: min(640px, 100%);
}

.tk-filters .uf-search label{
  margin-bottom: 6px;
}

.tk-filters .uf-search__input{
  display: flex;
  align-items: stretch;
}

.tk-filters .uf-search__input .input{
  flex: 1;
  min-width: 0;
  border-top-right-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.tk-filters .uf-search__btn{
  min-width: 42px;
  width: 42px;
  padding: 0;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
  border-color: rgb(245 158 11 / .58);
  background: linear-gradient(140deg, rgb(251 191 36 / .96), rgb(249 115 22 / .90));
  color: #fff;
}

.tk-filters .uf-search__btn:hover{
  border-color: rgb(245 158 11 / .82);
  filter: brightness(1.03);
}

.tk-filters .uf-advanced-btn{
  min-height: 40px;
  border-color: rgb(245 158 11 / .48);
  background: linear-gradient(140deg, rgb(255 255 255 / .88), rgb(255 247 237 / .82));
}

.tk-filters .uf-advanced-btn[data-active="1"]{
  border-color: rgb(245 158 11 / .82);
  background: linear-gradient(140deg, rgb(251 191 36 / .24), rgb(249 115 22 / .14));
  color: rgb(146 64 14);
}

.tk-filters .uf-advanced-aux{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.tk-filters .uf-clear-advanced{
  border: 0;
  background: transparent;
  color: rgb(37 99 235);
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}

.tk-filters .uf-clear-advanced:hover{
  text-decoration: underline;
}

.tk-filters .uf-advanced-grid{
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--stroke);
}

.tk-filters .uf-advanced-grid[hidden]{
  display: none !important;
}

@media (max-width: 980px){
  .tk-filters .uf-bar{
    align-items: stretch;
  }

  .tk-filters .uf-right{
    width: 100%;
    margin-left: 0;
    align-items: stretch;
  }

  .tk-filters .uf-search{
    width: 100%;
    max-width: none;
    min-width: 0;
  }
}

/* =========================================================
   Comfort Patch - calmer glass / lower blur / lighter chrome
   ========================================================= */
:root{
  --glass: linear-gradient(
    180deg,
    color-mix(in srgb, var(--surface) 97%, #ffffff 3%),
    color-mix(in srgb, var(--surface2) 99%, #ffffff 1%)
  );
  --shine:
    radial-gradient(280px 160px at 18% 0%, rgba(255,255,255,.26), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.10), transparent 54%);
}

html[data-theme="dark"]{
  --glass: linear-gradient(
    180deg,
    color-mix(in srgb, var(--surface) 98%, #ffffff 2%),
    color-mix(in srgb, var(--surface2) 96%, #000000 4%)
  );
  --shine:
    radial-gradient(280px 160px at 18% 0%, rgba(255,255,255,.08), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.04), transparent 54%);
}

.bg-grad{
  inset: -12%;
  background:
    radial-gradient(880px 460px at 14% 18%, rgb(var(--accent2-rgb)/.10), transparent 64%),
    radial-gradient(860px 460px at 86% 18%, rgb(var(--accent-rgb)/.09), transparent 64%),
    radial-gradient(840px 520px at 70% 86%, rgb(var(--accent2-rgb)/.07), transparent 66%);
  filter: blur(8px);
  opacity: .76;
}

.bg-noise{ opacity: .024; }

.bg--login .bg-login-logo{
  filter: blur(10px);
  opacity: .09;
  transform: scale(1.04);
}

html[data-theme="dark"] .bg--login .bg-login-logo{
  opacity: .14;
}

.glass,
.card.glass,
.table-wrap,
.searchbar__input,
.userpill,
.modal__dialog,
.mhd-modal .modal__dialog,
.drawer__panel,
.searchselect .ss-list,
.drawer__header,
.modal__header{
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.glass,
.card.glass,
.table-wrap,
.searchbar__input,
.userpill{
  border-color: color-mix(in srgb, var(--stroke) 90%, transparent);
  box-shadow: 0 8px 24px rgb(2 6 23 / .06);
}

html[data-theme="dark"] .glass,
html[data-theme="dark"] .card.glass,
html[data-theme="dark"] .table-wrap,
html[data-theme="dark"] .searchbar__input,
html[data-theme="dark"] .userpill{
  box-shadow: 0 10px 28px rgb(0 0 0 / .22);
}

.topbar{
  background:
    linear-gradient(180deg, rgb(255 255 255 / .88), rgb(255 255 255 / .76));
  border-bottom-color: rgb(15 23 42 / .08);
  box-shadow: 0 6px 16px rgb(15 23 42 / .06);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

html[data-theme="dark"] .topbar{
  background: linear-gradient(180deg, rgb(10 16 28 / .88), rgb(9 14 24 / .80));
  border-bottom-color: rgb(148 163 184 / .14);
  box-shadow: 0 8px 22px rgb(2 6 23 / .32);
}

.brand .dot{
  box-shadow: 0 0 0 4px rgb(var(--accent-rgb)/.12), 0 0 14px rgb(var(--accent2-rgb)/.12);
}

.sidebar{
  background:
    linear-gradient(180deg, rgb(255 255 255 / .90), rgb(248 250 252 / .86));
  border-right-color: rgb(15 23 42 / .08);
  box-shadow: 10px 0 26px rgb(15 23 42 / .08);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

html[data-theme="dark"] .sidebar{
  background: linear-gradient(180deg, rgb(9 14 24 / .88), rgb(7 12 21 / .84));
  border-right-color: rgb(148 163 184 / .14);
  box-shadow: 12px 0 30px rgb(0 0 0 / .34);
}

.sidebar-head{
  border-color: rgb(100 116 139 / .18);
  background: linear-gradient(180deg, rgb(255 255 255 / .96), rgb(248 250 252 / .90));
  box-shadow: 0 6px 14px rgb(15 23 42 / .05);
}

html[data-theme="dark"] .sidebar-head{
  border-color: rgb(148 163 184 / .16);
  background: linear-gradient(180deg, rgb(21 30 45 / .84), rgb(13 19 33 / .78));
  box-shadow: 0 8px 16px rgb(2 6 23 / .26);
}

.sidebar-dot{
  box-shadow: 0 0 0 4px rgb(var(--accent-rgb)/.12), 0 0 12px rgb(var(--accent2-rgb)/.10);
}

.nav-item{
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.nav-item .nav-ic{
  border-color: rgb(100 116 139 / .14);
  background: linear-gradient(180deg, rgb(255 255 255 / .92), rgb(241 245 249 / .82));
  box-shadow: none;
}

html[data-theme="dark"] .nav-item .nav-ic{
  border-color: rgb(148 163 184 / .18);
  background: linear-gradient(180deg, rgb(25 34 50 / .80), rgb(16 24 38 / .72));
}

.nav-item:hover{
  background: linear-gradient(180deg, rgb(var(--accent-rgb)/.08), rgb(var(--accent2-rgb)/.04));
  box-shadow: 0 6px 14px rgb(15 23 42 / .06);
}

.nav-item.is-active{
  background: linear-gradient(180deg, rgb(var(--accent-rgb)/.12), rgb(var(--accent2-rgb)/.06));
  box-shadow: inset 0 0 0 1px rgb(var(--accent-rgb)/.14), 0 8px 18px rgb(var(--accent-rgb)/.08);
}

.nav-item.is-active::before{
  box-shadow: 0 0 0 4px rgb(var(--accent-rgb)/.08);
}

html[data-theme="dark"] .nav-item:hover{
  background: linear-gradient(180deg, rgb(34 197 94 / .10), rgb(16 185 129 / .05));
  box-shadow: 0 8px 16px rgb(2 6 23 / .24);
}

html[data-theme="dark"] .nav-item.is-active{
  background: linear-gradient(180deg, rgb(34 197 94 / .14), rgb(16 185 129 / .08));
  box-shadow: inset 0 0 0 1px rgb(var(--accent-rgb)/.18), 0 10px 20px rgb(2 6 23 / .22);
}

.topbar .search input,
.searchbar__input,
input,
select,
textarea,
.ss-input{
  background: color-mix(in srgb, var(--surface) 96%, #ffffff 4%);
}

html[data-theme="dark"] .topbar .search input,
html[data-theme="dark"] .searchbar__input,
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .ss-input{
  background: color-mix(in srgb, var(--surface) 96%, #000000 4%);
}

.modal,
.modal.mhd-modal{
  background: rgba(2,6,23,.38);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

html[data-theme="dark"] .modal,
html[data-theme="dark"] .modal.mhd-modal{
  background: rgba(2,6,23,.52);
}

.modal__dialog,
.mhd-modal .modal__dialog{
  box-shadow: 0 18px 48px rgb(2 6 23 / .14);
}

html[data-theme="dark"] .modal__dialog,
html[data-theme="dark"] .mhd-modal .modal__dialog{
  box-shadow: 0 20px 56px rgb(0 0 0 / .34);
}

.modal__header{
  background: linear-gradient(180deg, rgb(255 255 255 / .94), rgb(248 250 252 / .90));
  box-shadow: none;
}

html[data-theme="dark"] .modal__header{
  background: linear-gradient(180deg, rgb(17 25 39 / .88), rgb(12 18 30 / .80));
}

.drawer__backdrop{
  background: rgba(2,6,23,.34);
}

.drawer__panel{
  background: linear-gradient(180deg, rgb(255 255 255 / .95), rgb(248 250 252 / .90));
  border-left-color: rgb(15 23 42 / .08);
  box-shadow: -12px 0 32px rgb(2 6 23 / .10);
}

html[data-theme="dark"] .drawer__panel{
  background: linear-gradient(180deg, rgb(11 18 30 / .92), rgb(8 14 24 / .88));
  border-left-color: rgb(148 163 184 / .14);
  box-shadow: -14px 0 34px rgb(0 0 0 / .34);
}

.drawer__header{
  border-bottom-color: rgb(15 23 42 / .08);
}

html[data-theme="dark"] .drawer__header{
  border-bottom-color: rgb(148 163 184 / .14);
}

.searchselect .ss-list{
  border-color: color-mix(in srgb, var(--stroke) 88%, transparent);
  background: color-mix(in srgb, var(--surface) 97%, #ffffff 3%);
  box-shadow: 0 14px 32px rgb(2 6 23 / .10);
}

html[data-theme="dark"] .searchselect .ss-list{
  background: color-mix(in srgb, var(--surface) 97%, #000000 3%);
  box-shadow: 0 16px 36px rgb(0 0 0 / .30);
}

.searchselect .dropdown__item:hover,
.searchselect .ss-item:hover{
  background: rgb(var(--accent-rgb) / .06);
}

.searchselect .ss-chip{
  background: color-mix(in srgb, var(--surface) 94%, #ffffff 6%);
  box-shadow: 0 6px 16px rgba(0,0,0,.05);
}

html[data-theme="dark"] .searchselect .ss-chip{
  background: color-mix(in srgb, var(--surface) 95%, #000000 5%);
  box-shadow: 0 8px 18px rgba(0,0,0,.22);
}

.badge.strong{
  box-shadow: 0 8px 18px rgba(0,0,0,.06);
}

.auth-wrap::before{
  filter: blur(10px);
  opacity: .12;
  transform: scale(1.04);
}

html[data-theme="dark"] .auth-wrap::before{
  opacity: .16;
}

.auth-shine{
  filter: blur(6px);
  opacity: .38;
  animation: none;
}

.auth-avatar{
  box-shadow: 0 8px 24px rgb(0 0 0 / .08);
}

html[data-theme="dark"] .auth-avatar{
  box-shadow: 0 10px 26px rgb(0 0 0 / .20);
}

.page-chamados-list{
  --tk-panel-bg: linear-gradient(180deg, rgb(255 255 255 / .92), rgb(255 255 255 / .84));
  --tk-head-bg: linear-gradient(180deg, rgb(255 255 255 / .94), rgb(248 250 252 / .90));
  --tk-row-alt: rgb(148 163 184 / .03);
  --tk-row-hover: rgb(var(--accent-rgb) / .05);
  --tk-panel-stroke: rgb(15 23 42 / .10);
}

html[data-theme="dark"] .page-chamados-list{
  --tk-panel-bg: linear-gradient(180deg, rgb(15 23 42 / .84), rgb(11 18 32 / .78));
  --tk-head-bg: linear-gradient(180deg, rgb(24 32 48 / .86), rgb(16 24 38 / .82));
  --tk-row-alt: rgb(148 163 184 / .05);
  --tk-row-hover: rgb(34 197 94 / .08);
  --tk-panel-stroke: rgb(148 163 184 / .18);
}

.page-chamados-list .grid > .card.glass{
  background: var(--tk-panel-bg);
  border-color: var(--tk-panel-stroke);
  box-shadow: 0 14px 34px rgb(2 6 23 / .08);
}

html[data-theme="dark"] .page-chamados-list .grid > .card.glass{
  box-shadow: 0 16px 38px rgb(0 0 0 / .30);
}

.page-chamados-list .tk-filters,
.page-chamados-list .table-wrap,
.page-chamados-list .tk-foot{
  background: var(--tk-panel-bg);
  border-color: var(--tk-panel-stroke);
}

.page-chamados-list .table tbody tr:hover{
  background: var(--tk-row-hover);
}

.page-chamados-list .tk-row-action-btn{
  box-shadow: 0 6px 16px rgb(2 6 23 / .08);
}

html[data-theme="dark"] .page-chamados-list .tk-row-action-btn{
  box-shadow: 0 8px 18px rgb(0 0 0 / .26);
}

/* =========================================================
   Unified Action Buttons
   - normalizes semantic actions across views and modals
   - uses tickets list as the visual baseline
   ========================================================= */
:root{
  --mhd-action-surface: linear-gradient(145deg, rgb(255 255 255 / .96), rgb(248 250 252 / .90));
  --mhd-action-text: #0f172a;
  --mhd-action-radius: 10px;
}

html[data-theme="dark"]{
  --mhd-action-surface: linear-gradient(145deg, rgb(30 41 59 / .86), rgb(15 23 42 / .78));
  --mhd-action-text: #e5edf5;
}

:where(.mhd-action-btn, .page-chamados-list .tk-row-action-btn){
  --mhd-action-rgb: 100 116 139;
  color: var(--mhd-action-text) !important;
  border-radius: var(--mhd-action-radius) !important;
  border-color: rgb(var(--mhd-action-rgb) / .28) !important;
  background: var(--mhd-action-surface) !important;
  box-shadow: 0 8px 18px rgb(15 23 42 / .08) !important;
  text-shadow: none !important;
}

html[data-theme="dark"] :where(.mhd-action-btn, .page-chamados-list .tk-row-action-btn){
  box-shadow: 0 10px 22px rgb(2 6 23 / .30) !important;
}

:where(.mhd-action-btn, .page-chamados-list .tk-row-action-btn) > :is(i[data-lucide], svg),
:where(.mhd-action-btn, .page-chamados-list .tk-row-action-btn) :is(i[data-lucide], svg):first-child{
  color: rgb(var(--mhd-action-rgb)) !important;
  stroke: currentColor !important;
  opacity: 1 !important;
}

:where(.mhd-action-btn, .page-chamados-list .tk-row-action-btn):hover,
:where(.mhd-action-btn, .page-chamados-list .tk-row-action-btn):focus-visible{
  color: rgb(var(--mhd-action-rgb)) !important;
  border-color: rgb(var(--mhd-action-rgb) / .38) !important;
  background: linear-gradient(145deg, rgb(var(--mhd-action-rgb) / .16), rgb(var(--mhd-action-rgb) / .08)) !important;
  box-shadow: 0 0 0 3px rgb(var(--mhd-action-rgb) / .10), 0 12px 24px rgb(15 23 42 / .10) !important;
}

html[data-theme="dark"] :where(.mhd-action-btn, .page-chamados-list .tk-row-action-btn):hover,
html[data-theme="dark"] :where(.mhd-action-btn, .page-chamados-list .tk-row-action-btn):focus-visible{
  color: #f8fafc !important;
  background: linear-gradient(145deg, rgb(var(--mhd-action-rgb) / .22), rgb(15 23 42 / .92)) !important;
  box-shadow: 0 0 0 3px rgb(var(--mhd-action-rgb) / .16), 0 14px 28px rgb(0 0 0 / .34) !important;
}

:where(.mhd-action-btn, .page-chamados-list .tk-row-action-btn):disabled,
:where(.mhd-action-btn, .page-chamados-list .tk-row-action-btn)[aria-disabled="true"]{
  box-shadow: none !important;
}

.mhd-action-btn--icon{
  gap: 0;
  min-width: var(--control-h);
  width: var(--control-h);
  padding: 0 !important;
  border-radius: calc(var(--mhd-action-radius) - 1px) !important;
}

.mhd-action-btn--icon svg{
  width: 16px;
  height: 16px;
}

.mhd-action-btn--neutral,
.page-chamados-list .tk-row-action-btn.is-more{
  --mhd-action-rgb: 100 116 139;
}

.mhd-action-btn--view,
.page-chamados-list .tk-row-action-btn.is-view{
  --mhd-action-rgb: 59 130 246;
}

.mhd-action-btn--edit,
.page-chamados-list .tk-row-action-btn.is-edit{
  --mhd-action-rgb: 245 158 11;
}

.mhd-action-btn--print,
.page-chamados-list .tk-row-action-btn.is-print{
  --mhd-action-rgb: 139 92 246;
}

.mhd-action-btn--filter{
  --mhd-action-rgb: 14 165 233;
}

.mhd-action-btn--settings{
  --mhd-action-rgb: 99 102 241;
}

.mhd-action-btn--people{
  --mhd-action-rgb: 6 182 212;
}

.mhd-action-btn--transfer{
  --mhd-action-rgb: 8 145 178;
}

.mhd-action-btn--save{
  --mhd-action-rgb: 34 197 94;
}

.mhd-action-btn--new{
  --mhd-action-rgb: 16 185 129;
}

.mhd-action-btn--danger{
  --mhd-action-rgb: 239 68 68;
}

.mhd-action-btn--reset{
  --mhd-action-rgb: 148 163 184;
}

.mhd-action-btn--mail{
  --mhd-action-rgb: 168 85 247;
}

/* =========================================================
   Unified Tables
   - uppercase headers
   - stronger row hover
   - aligned footer with count + per-page + pager
   ========================================================= */
:root{
  --mhd-table-head-bg: linear-gradient(180deg, rgb(255 255 255 / .94), rgb(248 250 252 / .88));
  --mhd-table-head-border: rgb(15 23 42 / .10);
  --mhd-table-row-hover: linear-gradient(90deg, rgb(var(--accent-rgb) / .10), rgb(var(--accent2-rgb) / .05) 72%, rgb(var(--accent-rgb) / .04));
  --mhd-table-row-alt: rgb(148 163 184 / .028);
  --mhd-table-foot-bg: linear-gradient(145deg, rgb(255 255 255 / .94), rgb(248 250 252 / .88));
}

html[data-theme="dark"]{
  --mhd-table-head-bg: linear-gradient(180deg, rgb(24 32 48 / .90), rgb(15 23 42 / .82));
  --mhd-table-head-border: rgb(148 163 184 / .16);
  --mhd-table-row-hover: linear-gradient(90deg, rgb(34 197 94 / .16), rgb(14 165 233 / .08) 72%, rgb(34 197 94 / .10));
  --mhd-table-row-alt: rgb(148 163 184 / .05);
  --mhd-table-foot-bg: linear-gradient(145deg, rgb(24 32 48 / .86), rgb(15 23 42 / .78));
}

.table-wrap{
  border-color: color-mix(in srgb, var(--stroke) 90%, transparent);
  box-shadow: 0 12px 28px rgb(15 23 42 / .06);
}

html[data-theme="dark"] .table-wrap{
  box-shadow: 0 14px 34px rgb(2 6 23 / .22);
}

.table thead th{
  padding: 12px 14px;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--text) 88%, var(--muted) 12%);
  border-bottom-color: var(--mhd-table-head-border);
  background: var(--mhd-table-head-bg);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.table td{
  padding: 12px 14px;
  border-bottom-color: color-mix(in srgb, var(--stroke) 92%, transparent);
  background: transparent;
}

.table.table-interactive tbody tr:nth-child(even):not(.is-selected):not(.mhd-row-placeholder){
  background: var(--mhd-table-row-alt);
}

.table tbody tr{
  transition: background var(--t), transform var(--t), box-shadow var(--t);
}

.table.table-interactive tbody tr:hover:not(.is-selected):not(.mhd-row-placeholder),
.table.table-interactive tbody tr:focus-within:not(.is-selected):not(.mhd-row-placeholder),
.table:not(.table-interactive) tbody tr:hover:not(.mhd-row-placeholder),
.table:not(.table-interactive) tbody tr:focus-within:not(.mhd-row-placeholder){
  background: var(--mhd-table-row-hover) !important;
  box-shadow: inset 3px 0 0 rgb(var(--accent-rgb) / .26);
}

.table tbody tr:hover > td,
.table tbody tr:focus-within > td{
  background: transparent !important;
}

.table tbody tr.mhd-row-placeholder:hover,
.table tbody tr.mhd-row-placeholder:focus-within{
  background: transparent;
  box-shadow: none;
}

.tk-foot,
.tk-foot--auto{
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px 16px;
  flex-wrap: wrap;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--stroke) 90%, transparent);
  border-radius: var(--r-card);
  background: var(--mhd-table-foot-bg);
  box-shadow: 0 8px 20px rgb(15 23 42 / .05);
}

html[data-theme="dark"] .tk-foot,
html[data-theme="dark"] .tk-foot--auto{
  box-shadow: 0 10px 24px rgb(2 6 23 / .20);
}

.tk-foot > .muted,
.tk-foot--auto > .muted{
  display: flex;
  align-items: center;
  min-height: var(--control-h);
}

.tk-foot__right{
  margin-left: auto;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px 12px;
  flex-wrap: wrap;
}

.tk-perpage{
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end;
  gap: 8px 10px;
  flex-wrap: wrap;
}

.tk-perpage > .label,
.tk-perpage > label{
  margin: 0 !important;
  font-size: .70rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}

.tk-perpage .tk-perpage-select,
.tk-perpage .searchselect[data-native="1"]{
  width: auto;
  min-width: 78px;
}

.tk-perpage .pp-options{
  display: flex !important;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.tk-perpage .pp-item span{
  min-width: 40px;
  height: 36px;
  border-radius: 10px;
}

.tk-pager{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.tk-page-list{
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.tk-page-info{
  min-height: var(--control-h);
  border-radius: 10px !important;
}

.tk-page-btn{
  border-radius: 10px !important;
}

@media (max-width: 980px){
  .tk-foot,
  .tk-foot--auto{
    align-items: stretch !important;
  }

  .tk-foot__right{
    width: 100%;
    margin-left: 0;
    justify-content: space-between !important;
  }

  .tk-perpage{
    justify-content: flex-start;
  }
}

@media (max-width: 720px){
  .tk-foot__right{
    justify-content: flex-start !important;
  }

  .tk-pager{
    width: 100%;
    justify-content: flex-start;
  }
}

/* =========================================================
   Unified Navigation Tabs
   - semantic color by icon/topic
   - active state keeps the tab tone visible
   ========================================================= */
:root{
  --mhd-tab-shell-bg: linear-gradient(145deg, rgb(255 255 255 / .92), rgb(248 250 252 / .86));
  --mhd-tab-shell-border: rgb(15 23 42 / .09);
  --mhd-tab-btn-bg: linear-gradient(145deg, rgb(255 255 255 / .96), rgb(248 250 252 / .90));
}

html[data-theme="dark"]{
  --mhd-tab-shell-bg: linear-gradient(145deg, rgb(18 26 40 / .86), rgb(11 18 30 / .80));
  --mhd-tab-shell-border: rgb(148 163 184 / .16);
  --mhd-tab-btn-bg: linear-gradient(145deg, rgb(29 39 58 / .82), rgb(16 24 38 / .76));
}

:where(.seg-tabs, .tabsbar, .reports-tabs){
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 14px;
  padding: 10px;
  border-radius: 14px;
  border: 1px solid var(--mhd-tab-shell-border);
  background: var(--mhd-tab-shell-bg);
  box-shadow: 0 8px 22px rgb(15 23 42 / .05);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scrollbar-width: thin;
}

html[data-theme="dark"] :where(.seg-tabs, .tabsbar, .reports-tabs){
  box-shadow: 0 10px 26px rgb(2 6 23 / .18);
}

:where(.seg-tabs, .tabsbar, .reports-tabs) > .btn,
:where(.seg-tabs, .tabsbar, .reports-tabs) > a.btn{
  flex: 0 0 auto;
  white-space: nowrap;
}

:where(.seg-tabs, .tabsbar, .reports-tabs) > .btn.primary:not(.mhd-tab-btn),
:where(.seg-tabs, .tabsbar, .reports-tabs) > a.btn.primary:not(.mhd-tab-btn){
  margin-left: auto;
}

:where(.seg-tabs, .tabsbar, .reports-tabs) > .mhd-tab-btn.primary,
:where(.seg-tabs, .tabsbar, .reports-tabs) > .mhd-tab-btn.is-active{
  margin-left: 0 !important;
}

:where(.client-modal-tabs, .profile-modal-tabs){
  border-color: color-mix(in srgb, var(--stroke) 90%, transparent);
  background: color-mix(in srgb, var(--glass) 86%, transparent);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .18);
}

.mhd-tab-btn{
  --mhd-tab-rgb: 16 185 129;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 12px !important;
  border-color: rgb(var(--mhd-tab-rgb) / .24) !important;
  background: var(--mhd-tab-btn-bg) !important;
  color: var(--text) !important;
  font-weight: 850 !important;
  letter-spacing: -.01em;
  box-shadow: 0 6px 16px rgb(15 23 42 / .05) !important;
  text-shadow: none !important;
}

html[data-theme="dark"] .mhd-tab-btn{
  box-shadow: 0 8px 18px rgb(2 6 23 / .18) !important;
}

.mhd-tab-btn::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgb(255 255 255 / .32), transparent 58%);
  opacity: .8;
  pointer-events: none;
}

.mhd-tab-btn > :is(i[data-lucide], svg),
.mhd-tab-btn :is(i[data-lucide], svg):first-child{
  color: rgb(var(--mhd-tab-rgb)) !important;
  stroke: currentColor !important;
  opacity: 1 !important;
}

.mhd-tab-btn:hover,
.mhd-tab-btn:focus-visible{
  color: rgb(var(--mhd-tab-rgb)) !important;
  border-color: rgb(var(--mhd-tab-rgb) / .40) !important;
  background: linear-gradient(145deg, rgb(var(--mhd-tab-rgb) / .16), rgb(var(--mhd-tab-rgb) / .07)) !important;
  box-shadow: 0 10px 22px rgb(var(--mhd-tab-rgb) / .12), inset 0 1px 0 rgb(255 255 255 / .14) !important;
}

.mhd-tab-btn .pill{
  border-color: rgb(var(--mhd-tab-rgb) / .18) !important;
  background: rgb(var(--mhd-tab-rgb) / .10) !important;
  color: rgb(var(--mhd-tab-rgb)) !important;
  box-shadow: none !important;
}

.mhd-tab-btn.is-active,
.mhd-tab-btn.primary,
.mhd-tab-btn[aria-selected="true"]{
  border-color: rgb(var(--mhd-tab-rgb) / .52) !important;
  background:
    linear-gradient(135deg,
      color-mix(in srgb, rgb(var(--mhd-tab-rgb)) 78%, #ffffff 22%),
      color-mix(in srgb, rgb(var(--mhd-tab-rgb)) 92%, #000000 8%)
    ) !important;
  color: #f8fffb !important;
  box-shadow: 0 14px 28px rgb(var(--mhd-tab-rgb) / .22), inset 0 1px 0 rgb(255 255 255 / .22) !important;
  text-shadow: 0 1px 0 rgb(0 0 0 / .12);
}

html[data-theme="dark"] .mhd-tab-btn.is-active,
html[data-theme="dark"] .mhd-tab-btn.primary,
html[data-theme="dark"] .mhd-tab-btn[aria-selected="true"]{
  box-shadow: 0 16px 30px rgb(var(--mhd-tab-rgb) / .20), inset 0 1px 0 rgb(255 255 255 / .10) !important;
}

.mhd-tab-btn.is-active > :is(i[data-lucide], svg),
.mhd-tab-btn.primary > :is(i[data-lucide], svg),
.mhd-tab-btn[aria-selected="true"] > :is(i[data-lucide], svg),
.mhd-tab-btn.is-active :is(i[data-lucide], svg):first-child,
.mhd-tab-btn.primary :is(i[data-lucide], svg):first-child,
.mhd-tab-btn[aria-selected="true"] :is(i[data-lucide], svg):first-child{
  color: #f8fffb !important;
}

.mhd-tab-btn:hover .pill,
.mhd-tab-btn:focus-visible .pill,
.mhd-tab-btn.is-active .pill,
.mhd-tab-btn.primary .pill,
.mhd-tab-btn[aria-selected="true"] .pill{
  border-color: rgb(255 255 255 / .20) !important;
  background: rgb(255 255 255 / .14) !important;
}

.mhd-tab-btn.is-active .pill,
.mhd-tab-btn.primary .pill,
.mhd-tab-btn[aria-selected="true"] .pill{
  color: #f8fffb !important;
}

.mhd-tab-btn[disabled],
.mhd-tab-btn.is-disabled{
  opacity: .62;
  filter: saturate(.82);
  box-shadow: none !important;
}

.mhd-tab-btn.is-disabled:hover,
.mhd-tab-btn[disabled]:hover{
  transform: none;
  color: var(--text) !important;
  background: var(--mhd-tab-btn-bg) !important;
}

.mhd-tab-btn--emerald{ --mhd-tab-rgb: 16 185 129; }
.mhd-tab-btn--sky{ --mhd-tab-rgb: 14 165 233; }
.mhd-tab-btn--teal{ --mhd-tab-rgb: 20 184 166; }
.mhd-tab-btn--amber{ --mhd-tab-rgb: 245 158 11; }
.mhd-tab-btn--indigo{ --mhd-tab-rgb: 99 102 241; }
.mhd-tab-btn--violet{ --mhd-tab-rgb: 139 92 246; }
.mhd-tab-btn--rose{ --mhd-tab-rgb: 244 63 94; }
.mhd-tab-btn--slate{ --mhd-tab-rgb: 100 116 139; }
