﻿/* ===========================
   CLIMEC • UI v2 (styles.css)
   Paleta baseada no logo
   =========================== */

   :root{
    --bg: #171a29;
    --surface: rgba(255,255,255,.09);
    --surface2: rgba(255,255,255,.14);
    --line: rgba(255,255,255,.18);
    --text: #F4F6FB;
    --muted: rgba(233,238,250,.74);
  
    /* cores do logo (aproximadas) */
    --purple: #5B2B82;
    --teal:   #00B3A4;
    --cyan:   #54C8F3;
    --pink:   #E94B9A;
    --yellow: #F2C14E;
    --select-panel-bg: #1a2134;
    --select-panel-text: #f4f6fb;
  
    --shadow: 0 16px 38px rgba(9, 15, 33, .38);
    --r: 18px;
    --r2: 14px;
  }
  
  *{ box-sizing:border-box; }
  html,body{ height:100%; }
  body{
    margin:0;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Arial;
    color: var(--text);
    background:
      radial-gradient(900px 600px at 14% -10%, rgba(86,176,204,.25), transparent 60%),
      radial-gradient(1000px 700px at 90% 10%, rgba(230,66,138,.18), transparent 65%),
      radial-gradient(1100px 700px at 40% 120%, rgba(24,169,153,.18), transparent 60%),
      var(--bg);
  }
  body.page-agendamento{
    position: relative;
    overflow-x: hidden;
  }
  body.page-agendamento::before,
  body.page-agendamento::after{
    content:"";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
  }
  body.page-agendamento::before{
    background:
      linear-gradient(135deg, transparent 49.4%, rgba(86,176,204,.11) 49.8%, rgba(86,176,204,.11) 50.2%, transparent 50.6%) 8% 18% / 140px 140px no-repeat,
      linear-gradient(315deg, transparent 49.3%, rgba(230,66,138,.10) 49.8%, rgba(230,66,138,.10) 50.2%, transparent 50.7%) 86% 24% / 160px 160px no-repeat,
      linear-gradient(45deg, transparent 49.2%, rgba(24,169,153,.11) 49.8%, rgba(24,169,153,.11) 50.2%, transparent 50.8%) 18% 78% / 130px 130px no-repeat,
      linear-gradient(225deg, transparent 49.2%, rgba(90,46,138,.10) 49.8%, rgba(90,46,138,.10) 50.2%, transparent 50.8%) 74% 84% / 150px 150px no-repeat;
    opacity: .65;
  }
  body.page-agendamento::after{
    background:
      radial-gradient(circle at 22% 26%, rgba(242,193,91,.14) 0 22px, transparent 23px),
      radial-gradient(circle at 74% 36%, rgba(86,176,204,.13) 0 18px, transparent 19px),
      radial-gradient(circle at 58% 72%, rgba(230,66,138,.12) 0 15px, transparent 16px),
      radial-gradient(circle at 12% 66%, rgba(24,169,153,.13) 0 14px, transparent 15px),
      radial-gradient(circle at 88% 78%, rgba(90,46,138,.11) 0 20px, transparent 21px);
    opacity: .55;
  }
.app{
  position: relative;
  z-index: 1;
}
  
.app{
  min-height:100vh;
  display:grid;
  grid-template-columns: 320px 1fr;
}
.app--full{
  grid-template-columns: 1fr;
}
.app.is-side-collapsed{
  grid-template-columns: 86px 1fr;
}
  
  @media (max-width: 980px){
    .app{ grid-template-columns: 1fr; }
    .side{ position: relative; height:auto; overflow:visible; z-index: 2; }
  }
  
.side{
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 18px;
    border-right: 1px solid var(--line);
    background: linear-gradient(180deg, rgba(91,43,130,.18), rgba(0,0,0,0));
    backdrop-filter: blur(10px);
  }

.side__brand{
  display:flex;
  align-items:center;
  gap:12px;
    padding: 14px;
    border-radius: var(--r);
    border: 1px solid var(--line);
    background: rgba(255,255,255,.05);
    box-shadow: var(--shadow);
  }
.side__logo{
    width: 64px;
    height: auto;
    display:block;
    border-radius: 12px;
    background: rgba(255,255,255,.06);
    padding: 8px;
}
.clientCompanySwitcher{
  border: 1px solid rgba(84,200,243,.26);
  background: linear-gradient(135deg, rgba(84,200,243,.12), rgba(0,179,164,.08));
  border-radius: 14px;
  padding: 12px;
  box-shadow: 0 12px 28px rgba(9, 15, 33, .22);
}
.clientCompanySwitcher__title{
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: var(--cyan);
  margin-bottom: 8px;
}
.clientCompanySwitcher__select{
  width: 100%;
  min-height: 42px;
  border-radius: 10px;
  border: 1px solid var(--line);
  background: var(--select-panel-bg);
  color: var(--select-panel-text);
  padding: 0 10px;
  font-size: 12px;
  outline: none;
}
.clientCompanySwitcher__select:focus{
  border-color: rgba(84,200,243,.68);
  box-shadow: 0 0 0 3px rgba(84,200,243,.14);
}
.clientCompanySwitcher__helper{
  margin-top: 8px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.app.is-side-collapsed .clientCompanySwitcher{
  padding: 8px;
}
.app.is-side-collapsed .clientCompanySwitcher__title,
.app.is-side-collapsed .clientCompanySwitcher__helper{
  display:none;
}
.app.is-side-collapsed .clientCompanySwitcher__select{
  min-height: 36px;
  padding: 0 4px;
  font-size: 0;
}
.side__toggle{
  margin-top: 4px;
  width: 100%;
  min-height: 44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.04);
  color: var(--text);
  font-size: 16px;
  cursor:pointer;
  transition: .15s ease;
}
.side__toggle:hover{
  background: rgba(255,255,255,.07);
  transform: translateY(-1px);
}
  .side__title{ font-weight: 900; letter-spacing:.2px; }
  .side__sub{ font-size: 12px; color: var(--muted); margin-top:2px; }
  
  .side__nav{
    margin-top: 0;
    display:flex;
    flex-direction:column;
    gap:10px;
  }
.navitem{
    width:100%;
    text-align:left;
    text-decoration:none;
    border-radius: 14px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.04);
    color: var(--text);
    padding: 12px 12px;
    display:flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    transition: .15s ease;
}
.navitem--disabled{
  opacity:.6;
  pointer-events:none;
}
.navgroup{
  width:100%;
}
.navgroup > summary{
  list-style:none;
}
.navgroup > summary::-webkit-details-marker{
  display:none;
}
.navgroup__arrow{
  margin-left:auto;
  color:var(--muted);
  font-size:11px;
  transition:transform .15s ease;
}
.navgroup[open] .navgroup__arrow{
  transform:rotate(180deg);
}
.navgroup__items{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:6px 0 0 20px;
  padding-left:10px;
  border-left:1px solid rgba(255,255,255,.14);
}
.navsubitem{
  display:block;
  padding:8px 10px;
  color:var(--muted);
  text-decoration:none;
  font-size:12px;
  border-radius:6px;
}
.navsubitem:hover,
.navsubitem.is-active{
  color:var(--text);
  background:rgba(255,255,255,.07);
}
.navsubitem--disabled{
  opacity:.55;
  cursor:default;
}
  .navitem:hover{ background: rgba(255,255,255,.07); transform: translateY(-1px); }
  .navitem.is-active{
    border-color: rgba(84,200,243,.45);
    background: linear-gradient(90deg, rgba(84,200,243,.14), rgba(0,179,164,.08));
  }
  
  .navicon{
    width:20px;
    height:20px;
    flex:0 0 20px;
    display:inline-block;
    border-radius:4px;
    background-color:rgba(255,255,255,.08);
    background-position:center;
    background-repeat:no-repeat;
    background-size:contain;
  }
  .navicon--agendamento{ background-image:url("assets/icons/menu/agendamento.png"); }
  .navicon--gestao-atendimentos{ background-image:url("assets/icons/menu/gestao-atendimentos.png"); }
  .navicon--asos-funcionario{ background-image:url("assets/icons/menu/asos-funcionario.png"); }
  .navicon--controle-funcionarios{ background-image:url("assets/icons/menu/controle-funcionarios.png"); }
  .navicon--documentos{ background-image:url("assets/icons/menu/documentos.png"); }
  .navicon--financeiro{ background-image:url("assets/icons/menu/financeiro.png"); }
  .navicon--gestao-empresas{ background-image:url("assets/icons/menu/gestao-empresas.png"); }
  .navicon--grupos-empresas{ background-image:url("assets/icons/menu/gestao-empresas.png"); }
  .navicon--agendamento-interno{ background-image:url("assets/icons/menu/agendamento-interno.png"); }
  .navicon--avaliacoes{ background-image:url("assets/icons/menu/avaliacoes.png"); }
  .navicon--seguranca{ background-image:url("assets/icons/menu/seguranca.png"); }
  .navicon--logs{ background-image:url("assets/icons/menu/logs.png"); }
  .navicon--acesso{ background-image:url("assets/icons/menu/acesso.png"); }
  .navicon--cliente-ativo{ background-image:url("assets/icons/menu/cliente-ativo.png"); }
  .navicon--agendamento-avulso{ background-image:url("assets/icons/menu/agendamento-avulso.png"); }
  .navicon--agendamentos{ background-image:url("assets/icons/menu/agendamentos.png"); }
  .navicon--rede-credenciada{ background-image:url("assets/icons/menu/rede-credenciada.png"); }
  .navicon--chamados{ background-image:url("assets/icons/menu/chamados.png"); }
  
  .side__meta{
    margin-top: 14px;
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .pill{
    padding: 10px 12px;
    border:1px solid var(--line);
    border-radius: 999px;
    background: rgba(255,255,255,.04);
    font-size: 12px;
    color: var(--muted);
  }
.pill b{ color: var(--text); }

.app.is-side-collapsed .side{
  padding: 12px 8px;
}
.app.is-side-collapsed .side__brand{
  display:block;
  padding: 4px;
  gap: 0;
}
.app.is-side-collapsed .side__text,
.app.is-side-collapsed .side__meta,
.app.is-side-collapsed .navitem__label{
  display:none;
}
.app.is-side-collapsed .navgroup__arrow,
.app.is-side-collapsed .navgroup__items{
  display:none;
}
.app.is-side-collapsed .side__logo{
  width: 100%;
  max-width: none;
  padding: 0;
  border-radius: 10px;
  background: transparent;
}
.app.is-side-collapsed .side__toggle{
  width: 100%;
  min-height: 42px;
  border-radius: 12px;
  background: rgba(20, 28, 48, .78);
  border-color: rgba(84,200,243,.38);
  box-shadow: none;
}
.app.is-side-collapsed .navitem{
  justify-content:center;
  padding: 12px 8px;
}
  
  .side__footer{
    margin-top: 18px;
    color: var(--muted);
    text-align:center;
  }
  
.main{
    padding: 22px;
    min-width: 0;
  }
.main--full{
  width: min(1380px, 100%);
  margin: 0 auto;
}
  
  .top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    padding: 16px 18px;
    border-radius: var(--r);
    border:1px solid var(--line);
    background: rgba(255,255,255,.05);
    box-shadow: var(--shadow);
  }
  .top h1{
    margin:0;
    font-size: 18px;
    letter-spacing:.2px;
  }
  .top p{
    margin: 6px 0 0;
    color: var(--muted);
    font-size: 13px;
  }

  .themePicker{
    display:flex;
    align-items:center;
    gap:8px;
    padding: 8px 10px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.06);
  }
  .themePicker__label{
    font-size: 12px;
    color: var(--muted);
    font-weight: 800;
    margin-right: 2px;
  }
  .themePicker__btn{
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.05);
    color: var(--text);
    font-weight: 900;
    cursor:pointer;
    transition: .15s ease;
  }
  .themePicker__btn:hover{
    filter: brightness(1.08);
    transform: translateY(-1px);
  }
  .themePicker__btn.is-active{
    border-color: rgba(84,200,243,.65);
    background: linear-gradient(180deg, rgba(84,200,243,.28), rgba(0,179,164,.14));
  }
  
  .toggle{
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255,255,255,.04);
    padding: 6px;
    display:flex;
    gap:6px;
  }
  .toggle__btn{
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: var(--muted);
    padding: 10px 12px;
    cursor:pointer;
    font-weight:800;
    font-size: 13px;
  }
  .toggle__btn.is-on{
    color: var(--text);
    border-color: rgba(91,43,130,.55);
    background: linear-gradient(90deg, rgba(91,43,130,.28), rgba(233,75,154,.16));
  }
  
  .grid{
    margin-top: 16px;
    display:grid;
    grid-template-columns: 1.45fr .85fr;
    gap: 14px;
  }
  .grid--single{ grid-template-columns: 1fr; }
  @media (max-width: 980px){
    .grid{ grid-template-columns: 1fr; }
  }
  
  .panel{ display:flex; flex-direction:column; gap:14px; min-width:0; }
  .panel--side{ position: sticky; top: 18px; height: fit-content; }
  
  .card{
    border-radius: var(--r);
    border:1px solid var(--line);
    background: rgba(255,255,255,.05);
    box-shadow: var(--shadow);
    overflow:hidden;
  }
  .card--soft{
    background: rgba(255,255,255,.035);
  }
  .card--pay{
    border-color: rgba(84,200,243,.25);
  }
  .card__head{
    padding: 14px 16px;
    border-bottom: 1px solid var(--line);
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
  }
  .card__head h2{
    margin:0;
    font-size: 14px;
  }
  .card__head p{
    margin:6px 0 0;
    color: var(--muted);
    font-size: 12px;
  }
  .card__body{
    padding: 14px 16px;
    min-width:0;
  }
  
  .stepTitle{
    display:flex;
    align-items:center;
    gap:12px;
  }
  .stepBadge{
    width:32px; height:32px;
    border-radius: 12px;
    display:grid; place-items:center;
    font-weight:900;
    border: 1px solid rgba(255,255,255,.18);
    background: rgba(0,0,0,.25);
  }
  .stepBadge--purple{ box-shadow: 0 0 0 4px rgba(91,43,130,.15); color: #fff; }
  .stepBadge--teal{ box-shadow: 0 0 0 4px rgba(0,179,164,.15); color: #fff; }
  .stepBadge--cyan{ box-shadow: 0 0 0 4px rgba(84,200,243,.15); color: #fff; }
  .stepBadge--pink{ box-shadow: 0 0 0 4px rgba(233,75,154,.15); color: #fff; }
  .stepBadge--yellow{ box-shadow: 0 0 0 4px rgba(242,193,78,.15); color: #fff; }
  
  .headActions{ display:flex; gap:10px; }
  
  .tag{
    font-size: 11px;
    font-weight: 900;
    padding: 7px 10px;
    border-radius: 999px;
    border:1px solid var(--line);
    color: var(--text);
    background: rgba(255,255,255,.04);
    white-space: nowrap;
  }
  .tag--purple{ border-color: rgba(91,43,130,.5); background: rgba(91,43,130,.18); }
  .tag--teal{ border-color: rgba(0,179,164,.55); background: rgba(0,179,164,.16); }
  .tag--cyan{ border-color: rgba(84,200,243,.55); background: rgba(84,200,243,.16); }
  .tag--pink{ border-color: rgba(233,75,154,.55); background: rgba(233,75,154,.14); }
  .tag--yellow{ border-color: rgba(242,193,78,.55); background: rgba(242,193,78,.14); }
  
  .row,
  .form .row{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .row--1,
  .form .row--1{ grid-template-columns: 1fr; }
  .row--2,
  .form .row--2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .row--3,
  .form .row--3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  @media (max-width: 640px){
    .row,
    .form .row{ grid-template-columns: 1fr; }
  }
  
  .field label{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 12px;
  }
  .req{ color: var(--yellow); font-weight:900; }
  
  .input{
    width:100%;
    border-radius: 14px;
    border: 1px solid var(--line);
    padding: 12px 12px;
    background: rgba(0,0,0,.25);
    color: var(--text);
    outline: none;
  }
  select.input{
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 36px;
    background-image:
      linear-gradient(45deg, transparent 50%, var(--muted) 50%),
      linear-gradient(135deg, var(--muted) 50%, transparent 50%);
    background-position:
      calc(100% - 16px) calc(50% - 2px),
      calc(100% - 11px) calc(50% - 2px);
    background-size: 5px 5px, 5px 5px;
    background-repeat: no-repeat;
  }
  .input option,
  .input optgroup{
    background: var(--select-panel-bg);
    color: var(--select-panel-text);
  }
  .input option:checked{
    background: linear-gradient(90deg, rgba(84,200,243,.28), rgba(0,179,164,.2));
    color: var(--select-panel-text);
  }
  .input:focus{
    border-color: rgba(84,200,243,.55);
    box-shadow: 0 0 0 4px rgba(84,200,243,.12);
  }
  .input--locked,
  .input:disabled{
    opacity:.88;
    color: rgba(243,244,246,.9);
    background: rgba(255,255,255,.05);
    cursor: not-allowed;
  }
  .input--textarea{
    min-height: 110px;
    resize: vertical;
    font: inherit;
  }
  
  .field--sm{ max-width: 220px; }
  @media (max-width: 640px){
    .field--sm{ max-width: none; }
  }
  
  .hint{
    display:block;
    margin-top: 7px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.35;
  }
  
  .actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top: 12px;
  }
  .actions--end{ justify-content:flex-end; }
  .top__right{
    display:flex;
    align-items:center;
    gap:10px;
    flex-wrap:wrap;
    justify-content:flex-end;
  }
  
  .btn{
    border:none;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius: 14px;
    padding: 11px 12px;
    font-weight: 900;
    font-size: 13px;
    color: var(--text);
    background: rgba(255,255,255,.06);
    border: 1px solid var(--line);
    transition: .15s ease;
  }
  .btn:hover{ filter: brightness(1.08); transform: translateY(-1px); }
  
  .btn--primary{
    border-color: rgba(91,43,130,.55);
    background: linear-gradient(90deg, rgba(91,43,130,.35), rgba(233,75,154,.18));
  }
  .btn--teal{
    border-color: rgba(0,179,164,.60);
    background: linear-gradient(90deg, rgba(0,179,164,.30), rgba(84,200,243,.14));
  }
  .btn--warn{
    border-color: rgba(242,193,78,.60);
    background: rgba(242,193,78,.16);
    color: #fff;
  }
.btn--ghost{
  background: transparent;
  border: 1px solid var(--line);
}
.btn--sm{
  padding: 7px 9px;
  font-size: 11px;
  border-radius: 10px;
}
.actionsRow{
  display:flex;
  gap:6px;
  justify-content:flex-end;
  flex-wrap:wrap;
}
.toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom: 12px;
}
.toolbar__meta{
  color: var(--muted);
  font-size: 12px;
}
.pagination{
  display:flex;
  align-items:center;
  gap:8px;
}
.pagination__label{
  min-width: 64px;
  text-align:center;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.monoValue{
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  word-break: break-all;
}
.reagendarCalendarDays{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap:10px;
  border: 1px dashed var(--line);
  border-radius: 14px;
  padding: 10px;
  min-height: 54px;
}
.reagendarCalendarDays .calendarMonth{
  padding: 10px;
}
.reagendarCalendarDays .calendarMonth__title{
  font-size: 12px;
  margin-bottom: 8px;
}
.reagendarCalendarDays .calendarWeekdays,
.reagendarCalendarDays .calendarGrid{
  gap:5px;
}
.reagendarCalendarDays .calendarPlaceholder,
.reagendarCalendarDays .calendarDay{
  min-height: 34px;
  font-size: 11px;
  border-radius: 10px;
}
  
  .link{
    border:none;
    background: transparent;
    color: rgba(84,200,243,.95);
    font-weight: 900;
    cursor:pointer;
    padding: 8px 10px;
    border-radius: 12px;
  }
  .link:hover{ background: rgba(84,200,243,.10); }

  .fieldInlineHead{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .fieldInlineHead label{
    margin:0;
  }

  .field--check{
    justify-content:flex-end;
  }
  .checkOption{
    min-height: 44px;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    width: fit-content;
    margin-top: 24px;
    font-weight:900;
    color: var(--text);
  }
  .checkOption input{
    width:18px;
    height:18px;
    accent-color: var(--teal);
  }
  .checkOption input:disabled + span{
    color: var(--muted);
  }
  .termsText{
    display:grid;
    gap:10px;
    color: var(--text);
    font-size: 14px;
    line-height: 1.55;
  }
  .termsText p{
    margin:0;
  }
  .paymentMethods{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }
  .paymentMethod{
    width: fit-content;
    display:inline-flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:8px;
    background: rgba(255,255,255,.04);
    font-weight:900;
    color: var(--text);
  }
  .paymentMethod input{
    accent-color: var(--teal);
  }
  .ratingStars{
    display:flex;
    gap:6px;
    margin-bottom: 12px;
  }
  .ratingStars__btn{
    width:42px;
    height:42px;
    border-radius:8px;
    border:1px solid var(--line);
    background: rgba(255,255,255,.04);
    color: rgba(255,255,255,.35);
    cursor:pointer;
    font-size:24px;
    line-height:1;
    transition:.15s ease;
  }
  .ratingStars__btn:hover,
  .ratingStars__btn.is-active{
    color: var(--yellow);
    border-color: rgba(245,184,65,.45);
    background: rgba(245,184,65,.12);
  }
  .metricGrid{
    display:grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap:10px;
  }
  .metricGrid--4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .metricGrid--3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .metricBox{
    border:1px solid var(--line);
    border-radius:8px;
    background: rgba(255,255,255,.035);
    padding:12px;
    min-height:82px;
  }
  .metricBox span{
    display:block;
    color: var(--muted);
    font-size:12px;
    font-weight:800;
  }
  .metricBox b{
    display:block;
    margin-top:8px;
    font-size:24px;
    color: var(--text);
  }
  .ratingBars{
    display:grid;
    gap:10px;
  }
  .ratingBar{
    display:grid;
    grid-template-columns: 96px 1fr 42px;
    align-items:center;
    gap:10px;
    color: var(--muted);
    font-size:12px;
    font-weight:800;
  }
  .ratingBar__track{
    height:10px;
    border-radius:999px;
    overflow:hidden;
    background: rgba(255,255,255,.08);
    border:1px solid var(--line);
  }
  .ratingBar__track i{
    display:block;
    height:100%;
    border-radius:999px;
    background: linear-gradient(90deg, var(--teal), var(--yellow));
  }
  .ratingBar b{
    color: var(--text);
    text-align:right;
  }
  .starsText{
    color: var(--yellow);
    letter-spacing:1px;
    white-space:nowrap;
  }
  @media (max-width: 980px){
    .metricGrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  }
  @media (max-width: 560px){
    .metricGrid{ grid-template-columns: 1fr; }
    .ratingBar{ grid-template-columns: 80px 1fr 32px; }
  }

  .authSplit{
    display:grid;
    gap:14px;
    grid-template-columns: 1fr 1fr;
  }
  .authCard{ height:100%; }
  @media (max-width: 980px){
    .authSplit{ grid-template-columns: 1fr; }
  }

  .feedback{
    margin-top: 10px;
    border-radius: 14px;
    padding: 10px 12px;
    border: 1px solid var(--line);
    font-size: 12px;
  }
  .feedback--error{
    border-color: rgba(233,75,154,.45);
    background: rgba(233,75,154,.10);
    color: #ffd9ec;
  }
  .feedback--success{
    border-color: rgba(0,179,164,.45);
    background: rgba(0,179,164,.10);
    color: #d8fff8;
  }
  
  .note{
    margin-top: 12px;
    border:1px dashed rgba(255,255,255,.18);
    border-radius: 14px;
    padding: 10px 12px;
    color: var(--muted);
    font-size: 12px;
    background: rgba(255,255,255,.03);
  }
  
  .mini{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    margin-top: 10px;
  }
  .mini__item{
    flex:1;
    min-width: 180px;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 10px 12px;
    background: rgba(255,255,255,.03);
  }
  .mini__label{ display:block; color: var(--muted); font-size: 11px; }
  .mini__value{ display:block; margin-top: 4px; font-weight: 900; }
  
  .subcard{
    margin-top: 12px;
    border-radius: 16px;
    border: 1px solid rgba(233,75,154,.40);
    background: rgba(233,75,154,.08);
    padding: 12px;
  }
  .subcard__head{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom: 10px;
  }
  .subcard__title{
    font-weight: 900;
    color: var(--text);
    font-size: 12px;
  }
  .choiceRow{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  @media (max-width: 640px){
    .choiceRow{ grid-template-columns: 1fr; }
  }
  .choiceCard{
    display:flex;
    gap:10px;
    align-items:flex-start;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 14px;
    padding: 12px;
    background: rgba(255,255,255,.04);
    cursor:pointer;
    color: var(--text);
    font-size: 12px;
  }
  .choiceCard input{
    margin-top: 2px;
  }
  
  .tableWrap{
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow:hidden;
    background: rgba(0,0,0,.18);
  }
  .tableWrap--scroll{
    overflow-x:auto;
    overflow-y:hidden;
  }
  .tableWrap--scroll::-webkit-scrollbar{ height:12px; }
  .tableWrap--scroll::-webkit-scrollbar-track{ background:rgba(255,255,255,.06); border-radius:999px; }
  .tableWrap--scroll::-webkit-scrollbar-thumb{ background:rgba(84,200,243,.34); border-radius:999px; }
  .table--funcionarios{
    min-width: 930px;
    table-layout: auto;
  }
  .table--funcionarios th,
  .table--funcionarios td{ white-space:nowrap; }
  .table--periodo-exames{
    min-width:1160px;
    table-layout:fixed;
  }
  .table--periodo-exames th,
  .table--periodo-exames td{
    white-space:normal;
    vertical-align:top;
  }
  .table--periodo-exames th:nth-child(1),
  .table--periodo-exames td:nth-child(1){ width:240px; }
  .table--periodo-exames th:nth-child(2),
  .table--periodo-exames td:nth-child(2){ width:180px; }
  .table--periodo-exames th:nth-child(3),
  .table--periodo-exames td:nth-child(3){ width:300px; }
  .table--periodo-exames th:nth-child(4),
  .table--periodo-exames td:nth-child(4),
  .table--periodo-exames th:nth-child(5),
  .table--periodo-exames td:nth-child(5){ width:130px; white-space:nowrap; }
  .table--periodo-exames th:nth-child(6),
  .table--periodo-exames td:nth-child(6){ width:170px; }
  .table--periodo-exames th:nth-child(7),
  .table--periodo-exames td:nth-child(7){ width:210px; }
  .table--periodo-exames th:nth-child(8),
  .table--periodo-exames td:nth-child(8){ width:120px; }
  .table--periodo-exames b,
  .table--periodo-exames small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .table--periodo-exames small{
    margin-top:4px;
    color:var(--muted);
    font-size:12px;
  }
  .periodoExamesList{
    display:flex;
    flex-direction:column;
    gap:6px;
  }
  .periodoExamesList span{
    position:relative;
    padding-left:12px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .periodoExamesList span::before{
    content:"";
    position:absolute;
    left:0;
    top:.62em;
    width:4px;
    height:4px;
    border-radius:999px;
    background:var(--accent);
  }
  .periodoExamesToggle{
    width:max-content;
    border:0;
    padding:0;
    background:transparent;
    color:var(--accent);
    font:inherit;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
  }
  .periodoExamesToggle:hover{
    text-decoration:underline;
  }
  .periodoAgendarResumo{
    border:1px solid var(--line);
    border-radius:14px;
    padding:12px;
    background:rgba(255,255,255,.04);
  }
  .periodoAgendarResumo b{
    display:block;
    margin-bottom:6px;
    font-size:13px;
  }
  .periodoAgendarResumo p{
    margin:0;
    color:var(--muted);
    line-height:1.45;
  }
  .table--documentos{
    min-width:1180px;
    table-layout:auto;
  }
  .table--documentos th,
  .table--documentos td{ white-space:nowrap; }
  .table--contratos{ min-width:860px; }
  .table--rede-credenciada{
    min-width:1520px;
    table-layout:fixed;
  }
  .table--rede-credenciada th,
  .table--rede-credenciada td{
    vertical-align:top;
  }
  .table--rede-credenciada b,
  .table--rede-credenciada span,
  .table--rede-credenciada small{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .table--rede-credenciada b{
    color:var(--text);
    font-size:12px;
    line-height:1.35;
    white-space:normal;
  }
  .table--rede-credenciada span,
  .table--rede-credenciada small{
    color:var(--muted);
    font-size:11px;
    line-height:1.35;
    margin-top:3px;
    white-space:nowrap;
  }
  .table--rede-credenciada .miniLabel{
    display:block;
    margin-top:8px;
    font-size:10px;
    font-weight:800;
    color:var(--muted);
    text-transform:uppercase;
  }
  .table--rede-credenciada input[type="date"],
  .table--rede-credenciada input[type="time"]{
    width:100%;
    min-width:0;
    margin-top:6px;
  }
  .table--rede-credenciada .rede-col-id{ width:80px; text-align:center; white-space:nowrap; }
  .table--rede-credenciada .rede-col-status{ width:150px; }
  .table--rede-credenciada .rede-col-empresa{ width:230px; }
  .table--rede-credenciada .rede-col-colaborador{ width:230px; }
  .table--rede-credenciada .rede-col-clinica{ width:230px; }
  .table--rede-credenciada .rede-col-preferencia{ width:190px; }
  .table--rede-credenciada .rede-col-guia{ width:190px; }
  .table--rede-credenciada .rede-col-request{ width:180px; }
  .table--rede-credenciada .rede-col-action{ width:90px; text-align:center; }
  .input--compact{
    min-height:34px;
    padding:8px 9px;
    font-size:12px;
  }
  .jsonCell{
    width:100%;
    max-width:100%;
    max-height:120px;
    overflow:auto;
    white-space:pre;
    word-break:normal;
    margin:0;
    font-size:11px;
    line-height:1.35;
  }
  .tableWrap--logs{
    max-width:100%;
  }
  .table--logs{
    min-width:3450px;
    table-layout:fixed;
  }
  .table--logs th,
  .table--logs td{
    white-space:nowrap;
  }
  .table--logs td{
    max-width:0;
  }
  .table--logs .log-col-id{ width:70px; }
  .table--logs .log-col-date{ width:155px; }
  .table--logs .log-col-action{ width:230px; }
  .table--logs .log-col-status{ width:100px; }
  .table--logs .log-col-method{ width:90px; }
  .table--logs .log-col-route{ width:360px; }
  .table--logs .log-col-duration{ width:110px; }
  .table--logs .log-col-user{ width:210px; }
  .table--logs .log-col-cnpj{ width:150px; }
  .table--logs .log-col-code{ width:140px; }
  .table--logs .log-col-company{ width:260px; }
  .table--logs .log-col-person{ width:240px; }
  .table--logs .log-col-cpf{ width:130px; }
  .table--logs .log-col-ip{ width:150px; }
  .table--logs .log-col-error{ width:320px; }
  .table--logs .log-col-json{ width:390px; }
  .table--logs th:nth-child(1),
  .table--logs th:nth-child(4),
  .table--logs th:nth-child(5),
  .table--logs th:nth-child(7),
  .table--logs td:nth-child(1),
  .table--logs td:nth-child(4),
  .table--logs td:nth-child(5),
  .table--logs td:nth-child(7){
    text-align:center;
  }
  .tableWrap--pagamentos{
    max-width:100%;
  }
  .table--pagamentos{
    min-width:2700px;
    table-layout:fixed;
  }
  .table--pagamentos th,
  .table--pagamentos td{
    white-space:nowrap;
  }
  .table--pagamentos td{
    max-width:0;
  }
  .table--pagamentos a{
    color:var(--cyan);
    font-weight:800;
    text-decoration:none;
  }
  .table--pagamentos a:hover{ text-decoration:underline; }
  .table--pagamentos .pay-col-id{ width:70px; }
  .table--pagamentos .pay-col-date{ width:155px; }
  .table--pagamentos .pay-col-payment{ width:180px; }
  .table--pagamentos .pay-col-link{ width:105px; }
  .table--pagamentos .pay-col-money{ width:110px; }
  .table--pagamentos .pay-col-status{ width:125px; }
  .table--pagamentos .pay-col-code{ width:125px; }
  .table--pagamentos .pay-col-code-lg{ width:165px; }
  .table--pagamentos .pay-col-email{ width:245px; }
  .table--pagamentos .pay-col-status-lg{ width:190px; }
  .table--pagamentos .pay-col-error{ width:380px; }
  .table--pagamentos th:nth-child(1),
  .table--pagamentos th:nth-child(7),
  .table--pagamentos th:nth-child(8),
  .table--pagamentos th:nth-child(9),
  .table--pagamentos th:nth-child(10),
  .table--pagamentos th:nth-child(11),
  .table--pagamentos th:nth-child(12),
  .table--pagamentos td:nth-child(1),
  .table--pagamentos td:nth-child(7),
  .table--pagamentos td:nth-child(8),
  .table--pagamentos td:nth-child(9),
  .table--pagamentos td:nth-child(10),
  .table--pagamentos td:nth-child(11),
  .table--pagamentos td:nth-child(12){
    text-align:center;
  }
  .tableWrap--grupos{
    max-width:100%;
  }
  .table--grupos{
    min-width:1260px;
    table-layout:fixed;
  }
  .table--grupos th,
  .table--grupos td{
    white-space:nowrap;
  }
  .table--grupos td{
    max-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .table--grupos .group-col-id{ width:70px; }
  .table--grupos .group-col-name{ width:210px; }
  .table--grupos .group-col-cnpj{ width:160px; }
  .table--grupos .group-col-company{ width:320px; }
  .table--grupos .group-col-password{ width:180px; }
  .table--grupos .group-col-status{ width:110px; }
  .table--grupos .group-col-date{ width:165px; }
  .table--grupos .group-col-actions{ width:230px; }
  .tableActions{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
  }
  .tableWrap--agendamentos{
    max-width:100%;
  }
  .table--agendamentos-admin{
    min-width:4220px;
    table-layout:fixed;
  }
  .table--agendamentos-admin th,
  .table--agendamentos-admin td{
    white-space:nowrap;
  }
  .table--agendamentos-admin td{
    max-width:0;
  }
  .table--agendamentos-admin .agenda-col-id{ width:70px; }
  .table--agendamentos-admin .agenda-col-date{ width:155px; }
  .table--agendamentos-admin .agenda-col-origin{ width:115px; }
  .table--agendamentos-admin .agenda-col-code{ width:130px; }
  .table--agendamentos-admin .agenda-col-code-lg{ width:165px; }
  .table--agendamentos-admin .agenda-col-short-date{ width:145px; }
  .table--agendamentos-admin .agenda-col-time{ width:90px; }
  .table--agendamentos-admin .agenda-col-type{ width:160px; }
  .table--agendamentos-admin .agenda-col-email{ width:245px; }
  .table--agendamentos-admin .agenda-col-notes{ width:260px; }
  .table--agendamentos-admin .agenda-col-message{ width:260px; }
  .table--agendamentos-admin .agenda-col-status{ width:135px; }
  .table--agendamentos-admin .agenda-col-count{ width:120px; }
  .table--agendamentos-admin .agenda-col-message-id{ width:180px; }
  .table--agendamentos-admin .agenda-col-error{ width:380px; }
  .table--agendamentos-admin .agenda-col-json{ width:400px; }
  .table--agendamentos-admin th:nth-child(1),
  .table--agendamentos-admin th:nth-child(5),
  .table--agendamentos-admin th:nth-child(6),
  .table--agendamentos-admin th:nth-child(7),
  .table--agendamentos-admin th:nth-child(8),
  .table--agendamentos-admin th:nth-child(9),
  .table--agendamentos-admin th:nth-child(17),
  .table--agendamentos-admin th:nth-child(18),
  .table--agendamentos-admin td:nth-child(1),
  .table--agendamentos-admin td:nth-child(5),
  .table--agendamentos-admin td:nth-child(6),
  .table--agendamentos-admin td:nth-child(7),
  .table--agendamentos-admin td:nth-child(8),
  .table--agendamentos-admin td:nth-child(9),
  .table--agendamentos-admin td:nth-child(17),
  .table--agendamentos-admin td:nth-child(18){
    text-align:center;
  }

  .ticketLayout{
    display:grid;
    grid-template-columns:minmax(280px, 360px) minmax(0, 1fr);
    gap:14px;
    min-height:640px;
  }
  .ticketMetrics{ margin-bottom:14px; }
  .ticketLayout--admin{ grid-template-columns:minmax(320px, 410px) minmax(0, 1fr); }
  .ticketQueue,
  .ticketDetail{ min-height:640px; margin:0; }
  .ticketList{
    height:552px;
    overflow-y:auto;
    border-top:1px solid var(--line);
  }
  .ticketListItem{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:6px;
    padding:14px 16px;
    border:0;
    border-bottom:1px solid var(--line);
    background:transparent;
    color:var(--text);
    text-align:left;
    cursor:pointer;
  }
  .ticketListItem:hover,
  .ticketListItem.is-active{ background:rgba(84,200,243,.08); }
  .ticketListItem.is-active{ box-shadow:inset 3px 0 0 var(--cyan); }
  .ticketListItem__top{ display:flex; align-items:center; justify-content:space-between; gap:8px; }
  .ticketListItem strong{ font-size:13px; line-height:1.35; }
  .ticketListItem > span:not(.ticketListItem__top),
  .ticketListItem small{ color:var(--muted); font-size:11px; }
  .ticketMetaLine{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
  }
  .ticketMetaLine .tag{ width:max-content; }
  .ticketEmpty{
    min-height:560px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:24px;
    color:var(--muted);
    text-align:center;
  }
  .ticketEmpty b{ color:var(--text); font-size:15px; }
  .ticketEmpty--compact{ min-height:220px; }
  .ticketDetail__head{
    min-height:92px;
    padding:16px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    border-bottom:1px solid var(--line);
  }
  .ticketDetail__head h2{ margin:5px 0; font-size:18px; }
  .ticketDetail__head p{ margin:0; color:var(--muted); font-size:11px; }
  .ticketProtocol{ color:var(--cyan); font-size:11px; font-weight:900; }
  .ticketMessages{
    height:360px;
    overflow-y:auto;
    display:flex;
    flex-direction:column;
    gap:10px;
    padding:16px;
    background:rgba(0,0,0,.12);
  }
  .ticketMessage{
    width:min(82%, 680px);
    padding:11px 12px;
    border:1px solid var(--line);
    border-radius:6px;
    background:rgba(255,255,255,.04);
  }
  .ticketMessage--admin{ align-self:flex-end; border-color:rgba(0,179,164,.35); background:rgba(0,179,164,.09); }
  .ticketMessage > div{ display:flex; justify-content:space-between; gap:10px; font-size:11px; }
  .ticketMessage > div span{ color:var(--muted); }
  .ticketMessage p{ margin:8px 0 0; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
  .ticketReply{ padding:14px 16px; border-top:1px solid var(--line); }
  .ticketReply label{ display:block; margin-bottom:6px; font-size:12px; font-weight:800; }
  .ticketReply .input--textarea{ min-height:82px; }
  .ticketReply .actions{ margin-top:8px; }
  .ticketAdminCompany{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
    padding:10px 16px;
    border-bottom:1px solid var(--line);
    color:var(--muted);
    font-size:11px;
  }
  .ticketAdminCompany b{ color:var(--text); }
  .ticketSla{ color:var(--muted); }
  .ticketSla--late{
    color:#f2c14e;
    font-weight:800;
  }
  .ticketStatusControl{
    display:grid;
    grid-template-columns:auto minmax(180px, 260px) auto;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    border-bottom:1px solid var(--line);
    font-size:12px;
  }
  .ticketStatusControl--wide{
    grid-template-columns:auto minmax(170px, 230px) auto minmax(180px, 1fr) auto;
  }
  .ticketModal{ width:min(620px, calc(100vw - 24px)); }
  .fieldHint{
    display:block;
    margin-top:6px;
    color:var(--muted);
    font-size:11px;
    line-height:1.4;
  }
  @media (max-width: 960px){
    .ticketLayout,
    .ticketLayout--admin{ grid-template-columns:1fr; }
    .ticketQueue,
    .ticketDetail{ min-height:auto; }
    .ticketList{ height:340px; }
    .ticketMessages{ height:420px; }
  }
  @media (max-width: 600px){
    .ticketDetail__head{ flex-direction:column; }
    .ticketMessage{ width:100%; }
    .ticketMessage > div{ flex-direction:column; gap:3px; }
    .ticketStatusControl{ grid-template-columns:1fr; }
  }

  .adminTabs{
    display:flex;
    gap: 8px;
    flex-wrap: wrap;
  }
  .adminTabs__btn{
    min-width: 150px;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255,255,255,.04);
    color: var(--muted);
    padding: 10px 14px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: .15s ease;
  }
  .adminTabs__btn.is-active{
    color: var(--text);
    border-color: rgba(84,200,243,.45);
    background: linear-gradient(90deg, rgba(84,200,243,.18), rgba(0,179,164,.10));
  }
  .table{
    width:100%;
    border-collapse: collapse;
    table-layout: fixed;
  }
  .table th, .table td{
    padding: 10px 10px;
    border-bottom: 1px solid rgba(255,255,255,.10);
    font-size: 12px;
    vertical-align: middle;
  }
  .table th{
    color: var(--muted);
    text-align:left;
  }
  .table td{
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .table tr:last-child td{ border-bottom:none; }
  .table--empresas .col-nome{ width: 32%; }
  .table--empresas .col-cnpj{ width: 18%; }
  .table--empresas .col-senha{ width: 22%; }
  .table--empresas .col-status{ width: 10%; }
  .table--empresas .col-acao{ width: 9%; }
  .table--empresas td:nth-child(4),
  .table--empresas td:nth-child(5),
  .table--empresas td:nth-child(6),
  .table--empresas th:nth-child(4),
  .table--empresas th:nth-child(5),
  .table--empresas th:nth-child(6){
    text-align:center;
  }
  .table--empresas td:nth-child(5) .btn,
  .table--empresas td:nth-child(6) .btn{
    width:100%;
    white-space: nowrap;
  }
  .table--exames .col-exame-id{ width: 9%; }
  .table--exames .col-exame-nome{ width: 49%; }
  .table--exames .col-exame-valor{ width: 16%; }
  .table--exames .col-exame-acao{ width: 13%; }
  .table--exames td:nth-child(1),
  .table--exames td:nth-child(3),
  .table--exames td:nth-child(4),
  .table--exames td:nth-child(5),
  .table--exames th:nth-child(1),
  .table--exames th:nth-child(3),
  .table--exames th:nth-child(4),
  .table--exames th:nth-child(5){
    text-align:center;
  }
  .table--exames td:nth-child(4) .btn,
  .table--exames td:nth-child(5) .btn{
    width:100%;
    white-space: nowrap;
  }
  .mutedCenter{
    text-align:center;
    color: var(--muted);
    font-style: italic;
  }
  
  .resume{
    flex:1;
    border:1px solid var(--line);
    border-radius: 16px;
    padding: 12px;
    background: rgba(0,0,0,.18);
  }
  .resume__row{
    display:flex;
    justify-content:space-between;
    padding: 7px 0;
    color: var(--muted);
  }
  .resume__total{
    display:flex;
    justify-content:space-between;
    margin-top: 8px;
    padding-top: 10px;
    border-top: 1px solid rgba(255,255,255,.12);
    font-weight: 1000;
  }
  .emails{ flex:1; }
  
  .kv{
    display:flex;
    flex-direction:column;
    gap:8px;
  }
  .kv__row{
    display:flex;
    justify-content:space-between;
    gap:12px;
    font-size: 12px;
    color: var(--muted);
  }
  .kv__row b{ color: var(--text); }
  
  .divider{
    height:1px;
    background: rgba(255,255,255,.12);
    margin: 12px 0;
  }
  
  .callout{
    border-radius: 16px;
    padding: 12px;
    border: 1px solid rgba(0,179,164,.40);
    background: rgba(0,179,164,.08);
  }
  .callout--warn{
    margin-top: 12px;
    border-color: rgba(242,193,78,.58);
    background: linear-gradient(180deg, rgba(242,193,78,.20), rgba(233,75,154,.08));
  }
  .callout b{ display:block; margin-bottom: 6px; }
  .callout p{ margin:0; color: var(--muted); font-size: 12px; line-height: 1.4; }
  .examList{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 8px;
  }
  .examModeToggle{
    margin-bottom: 10px;
    display:inline-flex;
    gap: 6px;
    padding: 4px;
    border-radius: 999px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.04);
  }
  .examModeToggle__btn{
    min-width: 92px;
    border: 1px solid transparent;
    border-radius: 999px;
    background: transparent;
    color: var(--muted);
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: .15s ease;
  }
  .examModeToggle__btn.is-active{
    color: var(--text);
    border-color: rgba(84,200,243,.45);
    background: linear-gradient(90deg, rgba(84,200,243,.18), rgba(0,179,164,.10));
  }
  .examChooser{
    display:grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, .9fr);
    gap: 10px;
  }
  .examChooser__pick,
  .examChooser__selected{
    border-radius: 14px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.04);
    padding: 12px;
  }
  .examChooser__label{
    display:block;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 12px;
  }
  .examChooser__controls{
    display:grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items:center;
  }
  .examChooser__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 10px;
    margin-bottom: 8px;
    font-size: 12px;
    color: var(--muted);
  }
  .examChooser__head b{
    color: var(--text);
  }
  .examSelectedList{
    display:flex;
    flex-direction:column;
    gap: 8px;
    max-height: 240px;
    overflow:auto;
    padding-right: 2px;
  }
  .examSelectedItem{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 10px;
    padding: 10px 10px;
    border-radius: 12px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.03);
  }
  .examSelectedItem__info{
    min-width: 0;
    flex: 1;
  }
  .examSelectedItem__title{
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    color: var(--text);
    line-height: 1.3;
  }
  .examSelectedItem__price{
    margin-top: 3px;
    font-size: 11px;
    color: var(--yellow);
    font-weight: 800;
  }
  .examSelectedItem__remove{
    min-width: 34px;
    height: 34px;
    border-radius: 10px;
    border: 1px solid rgba(233,75,154,.28);
    background: rgba(233,75,154,.10);
    color: var(--text);
    font-weight: 900;
    cursor: pointer;
  }
  .examSelectedEmpty{
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.4;
  }
  .examItem{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 10px;
    min-height: 72px;
    padding: 10px 12px;
    border-radius: 14px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.04);
    cursor: pointer;
    transition: .15s ease;
  }
  .examItem:hover{
    background: rgba(255,255,255,.07);
    transform: translateY(-1px);
  }
  .examItem.is-selected{
    border-color: rgba(84,200,243,.52);
    background: linear-gradient(90deg, rgba(84,200,243,.16), rgba(0,179,164,.10));
  }
  .examItem__main{
    display:flex;
    align-items:center;
    gap: 8px;
    min-width: 0;
    flex: 1;
  }
  .examItem__main input{
    margin: 0;
    width: 16px;
    height: 16px;
    flex: 0 0 auto;
    accent-color: var(--teal);
  }
  .examItem__title{
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    color: var(--text);
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .examItem__meta{
    display:none;
  }
  .examItem__price{
    white-space: nowrap;
    font-size: 13px;
    font-weight: 900;
    color: var(--yellow);
    padding: 4px 8px;
    border-radius: 999px;
    background: rgba(242,193,78,.12);
    border: 1px solid rgba(242,193,78,.22);
  }
  .examSummary{
    margin-top: 12px;
    border-radius: 14px;
    border: 1px solid var(--line);
    background: rgba(255,255,255,.04);
    padding: 10px 12px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap: 14px;
    flex-wrap: wrap;
  }
  .examSummary__row{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap: 12px;
    color: var(--muted);
    font-size: 12px;
  }
  .examSummary__row + .examSummary__row{
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
  }
  .examSummary__row b{
    color: var(--text);
  }
  .examSummary__row--total{
    font-size: 13px;
  }
  .examSummary__row--total b{
    color: var(--yellow);
    font-size: 18px;
  }
  @media (max-width: 980px){
    .examList{
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    }
    .examChooser{
      grid-template-columns: 1fr;
    }
  }
  @media (max-width: 640px){
    .examList{
      grid-template-columns: 1fr;
    }
    .examItem{
      min-height: 64px;
    }
    .examSummary{
      flex-direction: column;
      align-items: stretch;
    }
    .examSummary__row{
      justify-content: space-between;
    }
    .examChooser__controls{
      grid-template-columns: 1fr;
    }
  }
  
  .bullets{
    margin:0;
    padding-left: 18px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.6;
  }
  .slotStack{
    display:flex;
    flex-direction:column;
    gap:12px;
  }
  .slotGroup{
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 12px;
    background: rgba(255,255,255,.03);
  }
  .slotGroup__title{
    font-size: 12px;
    font-weight: 900;
    margin-bottom: 10px;
  }
  .slotGrid{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .slotButton{
    border: 1px solid rgba(84,200,243,.22);
    background: rgba(84,200,243,.08);
    color: var(--text);
    border-radius: 12px;
    padding: 10px 12px;
    cursor:pointer;
    font-weight: 800;
    min-width: 88px;
  }
  .slotButton:hover{
    filter: brightness(1.08);
  }
  .slotButton.is-selected{
    border-color: rgba(0,179,164,.60);
    background: linear-gradient(90deg, rgba(0,179,164,.26), rgba(84,200,243,.18));
  }
  .calendarWrap{
    display:flex;
    flex-direction:column;
    gap:16px;
  }
  .calendarMonths{
    display:grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap:14px;
  }
  .calendarMonth{
    border: 1px solid var(--line);
    border-radius: 18px;
    padding: 14px;
    background: rgba(255,255,255,.03);
  }
  .calendarMonth__title{
    font-size: 14px;
    font-weight: 900;
    margin-bottom: 12px;
  }
  .calendarWeekdays,
  .calendarGrid{
    display:grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap:8px;
  }
  .calendarWeekdays{
    margin-bottom: 8px;
  }
  .calendarWeekdays span{
    text-align:center;
    font-size: 11px;
    color: var(--muted);
    font-weight: 900;
  }
  .calendarPlaceholder{
    min-height: 44px;
  }
  .calendarDay{
    min-height: 44px;
    border-radius: 14px;
    border: 1px solid transparent;
    font-weight: 900;
    font-size: 12px;
    transition: .15s ease;
  }
  .calendarDay--available{
    cursor:pointer;
    color: #eafff9;
    border-color: rgba(0,179,164,.45);
    background: linear-gradient(180deg, rgba(0,179,164,.24), rgba(0,179,164,.08));
  }
  .calendarDay--available:hover{
    transform: translateY(-1px);
    filter: brightness(1.08);
  }
  .calendarDay--available.is-selected{
    border-color: rgba(84,200,243,.85);
    background: linear-gradient(180deg, rgba(84,200,243,.34), rgba(0,179,164,.2));
    box-shadow: 0 0 0 4px rgba(84,200,243,.12);
  }
  .calendarDay--disabled{
    color: rgba(243,244,246,.28);
    background: rgba(255,255,255,.03);
    border-color: rgba(255,255,255,.06);
    cursor:not-allowed;
  }
  .calendarHourField{
    margin-top: 0;
  }

  .resultCard{
    border-color: rgba(0,179,164,.45);
    background: linear-gradient(180deg, rgba(0,179,164,.14), rgba(255,255,255,.04));
  }
  .resultCard__kv{
    margin-top: 12px;
    border-top: 1px solid rgba(255,255,255,.12);
    padding-top: 12px;
  }
  
  /* modal */
  .modal{
    border:none;
    width: min(820px, 92vw);
    border-radius: 18px;
    padding: 0;
    background: rgba(10,10,18,.96);
    color: var(--text);
    box-shadow: var(--shadow);
    border: 1px solid rgba(255,255,255,.16);
  }
  .modal::backdrop{ background: rgba(0,0,0,.60); }
  .modal__head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(255,255,255,.12);
  }
  .modal__head h3{ margin:0; font-size: 14px; }
  .modal__head p{ margin: 6px 0 0; color: var(--muted); font-size: 12px; }
  .modal__body{ padding: 14px 16px; }
  
  .iconBtn{
    width: 38px; height: 38px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(255,255,255,.04);
    color: var(--text);
    cursor:pointer;
  }
  .iconBtn:hover{ background: rgba(255,255,255,.08); }

  body.page-agendamento[data-theme="theme-2"]{
    --bg: #f7fbff;
    --surface: rgba(255,255,255,.94);
    --surface2: rgba(255,255,255,.98);
    --line: rgba(54,83,124,.14);
    --text: #17243a;
    --muted: rgba(38,58,88,.66);
    --shadow: 0 12px 26px rgba(34,67,111,.09);
    --select-panel-bg: #ffffff;
    --select-panel-text: #17243a;
    background:
      linear-gradient(180deg, rgba(84,200,243,.12), rgba(255,255,255,0) 260px),
      linear-gradient(135deg, rgba(0,179,164,.08), rgba(255,255,255,0) 42%),
      var(--bg);
  }
  body.page-agendamento[data-theme="theme-2"]::before{
    opacity: .10;
  }
  body.page-agendamento[data-theme="theme-2"]::after{
    opacity: 0;
  }
  body.page-agendamento[data-theme="theme-2"] .side{
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,251,255,.86));
  }
  body.page-agendamento[data-theme="theme-2"] .top,
  body.page-agendamento[data-theme="theme-2"] .card,
  body.page-agendamento[data-theme="theme-2"] .side__brand,
  body.page-agendamento[data-theme="theme-2"] .navitem{
    background: rgba(255,255,255,.90);
  }
  body.page-agendamento[data-theme="theme-2"] .themePicker,
  body.page-agendamento[data-theme="theme-2"] .btn--ghost{
    background: rgba(255,255,255,.82);
  }
  body.page-agendamento[data-theme="theme-2"] .input{
    background: rgba(255,255,255,.96);
    color: #17243a;
  }
  body.page-agendamento[data-theme="theme-2"] .calendarMonth,
  body.page-agendamento[data-theme="theme-2"] .slotGroup,
  body.page-agendamento[data-theme="theme-2"] .choiceCard,
  body.page-agendamento[data-theme="theme-2"] .callout{
    background: rgba(255,255,255,.90);
  }

  body.page-agendamento[data-theme="theme-3"]{
    --bg: #ffffff;
    --surface: #ffffff;
    --surface2: #f3f7fb;
    --line: rgba(33, 50, 80, .16);
    --text: #17243a;
    --muted: rgba(37, 55, 83, .68);
    --shadow: 0 16px 34px rgba(27, 48, 86, .12);
    --select-panel-bg: #ffffff;
    --select-panel-text: #17243a;
    background:
      linear-gradient(180deg, rgba(84,200,243,.14), rgba(255,255,255,0) 260px),
      linear-gradient(135deg, rgba(91,43,130,.08), rgba(0,179,164,.08) 42%, rgba(255,255,255,0)),
      var(--bg);
  }
  body.page-agendamento[data-theme="theme-3"]::before{
    opacity: .08;
  }
  body.page-agendamento[data-theme="theme-3"]::after{
    opacity: .04;
  }
  body.page-agendamento[data-theme="theme-3"] .side{
    background: linear-gradient(180deg, #ffffff, #f5f9fd);
  }
  body.page-agendamento[data-theme="theme-3"] .top,
  body.page-agendamento[data-theme="theme-3"] .card,
  body.page-agendamento[data-theme="theme-3"] .side__brand,
  body.page-agendamento[data-theme="theme-3"] .navitem,
  body.page-agendamento[data-theme="theme-3"] .subcard,
  body.page-agendamento[data-theme="theme-3"] .themePicker{
    background: #ffffff;
    border-color: rgba(33, 50, 80, .14);
    box-shadow: var(--shadow);
  }
  body.page-agendamento[data-theme="theme-3"] .navitem.is-active,
  body.page-agendamento[data-theme="theme-3"] .navitem:hover{
    background: linear-gradient(90deg, rgba(84,200,243,.20), rgba(0,179,164,.10));
  }
  body.page-agendamento[data-theme="theme-3"] .input,
  body.page-agendamento[data-theme="theme-3"] select,
  body.page-agendamento[data-theme="theme-3"] textarea{
    background: #ffffff;
    color: var(--text);
    border-color: rgba(33, 50, 80, .18);
  }
  body.page-agendamento[data-theme="theme-3"] .input--locked{
    background: #eef4fa;
  }
  body.page-agendamento[data-theme="theme-3"] .btn--primary{
    border-color: rgba(91,43,130,.62);
    background: linear-gradient(90deg, rgba(91,43,130,.95), rgba(233,75,154,.82));
    color: #ffffff;
  }
  body.page-agendamento[data-theme="theme-3"] .btn--teal{
    border-color: rgba(0,179,164,.62);
    background: linear-gradient(90deg, rgba(0,179,164,.92), rgba(84,200,243,.78));
    color: #ffffff;
  }
  body.page-agendamento[data-theme="theme-3"] .btn--ghost{
    border-color: rgba(33, 50, 80, .16);
    background: #ffffff;
    color: var(--text);
  }
  body.page-agendamento[data-theme="theme-3"] .calendarMonth,
  body.page-agendamento[data-theme="theme-3"] .slotGroup,
  body.page-agendamento[data-theme="theme-3"] .choiceCard,
  body.page-agendamento[data-theme="theme-3"] .callout,
  body.page-agendamento[data-theme="theme-3"] .tableWrap,
  body.page-agendamento[data-theme="theme-3"] .note{
    background: #ffffff;
    border-color: rgba(33, 50, 80, .14);
  }
  body.page-agendamento[data-theme="theme-3"] .tag{
    color: #17243a;
  }
  
  .is-hidden{ display:none !important; }  

