﻿/* ===========================
   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: sticky; top:0; z-index: 2; }
  }
  
.side{
    position: relative;
    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;
}
.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;
}
  .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));
  }
  
  .dot{ width:10px; height:10px; border-radius: 999px; display:inline-block; }
  .dot--teal{ background: var(--teal); }
  .dot--cyan{ background: var(--cyan); }
  .dot--pink{ background: var(--pink); }
  .dot--purple{ background: var(--purple); }
  
  .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 .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;
  }
.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; }
  .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;
  }
  
  .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); }
  
  .form .row{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .form .row--1{ grid-template-columns: 1fr; }
  .form .row--3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  @media (max-width: 640px){
    .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;
  }
  .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);
  }
  .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: #ecf2fa;
    --surface: rgba(255,255,255,.86);
    --surface2: rgba(255,255,255,.92);
    --line: rgba(72,98,138,.20);
    --text: #21314a;
    --muted: rgba(44,66,98,.70);
    --shadow: 0 14px 30px rgba(40,76,126,.11);
    --select-panel-bg: #f2f6ff;
    --select-panel-text: #20304a;
    background:
      radial-gradient(900px 600px at 10% -12%, rgba(86,176,204,.20), transparent 62%),
      radial-gradient(780px 600px at 100% 16%, rgba(230,66,138,.12), transparent 65%),
      radial-gradient(820px 620px at 40% 120%, rgba(24,169,153,.12), transparent 62%),
      var(--bg);
  }
  body.page-agendamento[data-theme="theme-2"]::before{
    opacity: .42;
  }
  body.page-agendamento[data-theme="theme-2"]::after{
    opacity: .36;
  }
  body.page-agendamento[data-theme="theme-2"] .side{
    background: linear-gradient(180deg, rgba(86,176,204,.16), rgba(255,255,255,.40));
  }
  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,.78);
  }
  body.page-agendamento[data-theme="theme-2"] .input{
    background: rgba(255,255,255,.90);
    color: #1f2f49;
  }
  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,.80);
  }

  body.page-agendamento[data-theme="theme-3"]{
    --bg: #d3ddf0;
    --surface: rgba(255,255,255,.68);
    --surface2: rgba(255,255,255,.80);
    --line: rgba(64,72,118,.28);
    --text: #1b2340;
    --muted: rgba(40,52,95,.75);
    --shadow: 0 16px 34px rgba(46,62,108,.22);
    --select-panel-bg: #eef2fb;
    --select-panel-text: #1f2d46;
    background:
      radial-gradient(840px 560px at 12% -8%, rgba(90,46,138,.20), transparent 62%),
      radial-gradient(900px 640px at 92% 12%, rgba(86,176,204,.24), transparent 64%),
      radial-gradient(860px 600px at 62% 110%, rgba(242,193,91,.20), transparent 62%),
      var(--bg);
  }
  body.page-agendamento[data-theme="theme-3"]::before{
    opacity: .52;
  }
  body.page-agendamento[data-theme="theme-3"]::after{
    opacity: .44;
  }
  body.page-agendamento[data-theme="theme-3"] .side{
    background: linear-gradient(180deg, rgba(90,46,138,.22), rgba(255,255,255,.34));
  }
  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{
    background: rgba(255,255,255,.64);
  }
  body.page-agendamento[data-theme="theme-3"] .btn--primary{
    border-color: rgba(90,46,138,.62);
    background: linear-gradient(90deg, rgba(90,46,138,.72), rgba(230,66,138,.58));
    color: #ffffff;
  }
  body.page-agendamento[data-theme="theme-3"] .btn--teal{
    border-color: rgba(24,169,153,.62);
    background: linear-gradient(90deg, rgba(24,169,153,.66), rgba(86,176,204,.54));
    color: #ffffff;
  }
  body.page-agendamento[data-theme="theme-3"] .btn--ghost{
    border-color: rgba(64,72,118,.34);
    background: rgba(255,255,255,.40);
    color: #212e4c;
  }
  body.page-agendamento[data-theme="theme-3"] .input{
    background: rgba(255,255,255,.82);
    color: #1f2f49;
  }
  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{
    background: rgba(255,255,255,.70);
  }
  
  .is-hidden{ display:none !important; }  

