:root{
  --p:#7B2CBF;
  --a:#F72585;
  --txt:#1f2230;
  --muted:#6b7280;
  --soft:#F3E8FF;
  --soft2:#FFE3F2;
  --card:#ffffff;
  --line:#e6e7eb;
  --edit:#CFE8FF;
  --radius:18px;
}

*{ box-sizing:border-box; }
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:#f6f7fb;
  color:var(--txt);
}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px;
  background:linear-gradient(90deg, var(--p), #5a189a);
  color:#fff;
  flex-wrap:wrap;

  position:sticky;
  top:0;
  z-index:50;
}

.brandRow{ display:flex; align-items:center; gap:12px; }

.logo{
  width:44px;
  height:44px;
  border-radius:14px;
  object-fit:cover;
  background:rgba(255,255,255,.25);
  border:1px solid rgba(255,255,255,.25);
  display:block;
}
.logo.isHidden{ display:none; }

.brand__title{ font-weight:1000; font-size:18px; letter-spacing:.2px; }
.brand__subtitle{ opacity:.9; font-size:12px; margin-top:2px; }

.topbar__right{ display:flex; gap:10px; align-items:center; flex-wrap:wrap; }

.tabs{
  display:flex;
  gap:8px;
  padding:10px 12px;
  overflow:auto;
  background:#fff;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:66px;
  z-index:20;
}
.tab{
  border:1px solid var(--line);
  background:#fff;
  padding:10px 12px;
  border-radius:999px;
  font-weight:900;
  font-size:13px;
  cursor:pointer;
  white-space:nowrap;
}
.tab.active{
  border-color:transparent;
  background:linear-gradient(90deg, var(--a), var(--p));
  color:#fff;
}

.wrap{ padding:14px; max-width:1250px; margin:0 auto; }
.panel{ display:none; }
.panel.active{ display:block; }

.panel__head h2{ margin:8px 0 2px; font-size:20px; }
.panel__head p{ margin:0 0 12px; color:var(--muted); }

.cards{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:10px;
}
.card{
  grid-column:span 6;
  background:var(--card);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:12px;
  box-shadow:0 6px 18px rgba(16,24,40,.06);
}
.card--accent{
  border-color:transparent;
  background:linear-gradient(135deg, var(--soft2), var(--soft));
}
.card__label{ font-weight:1000; font-size:12px; color:#3b2b5f; }
.card__value{ font-weight:1100; font-size:22px; margin-top:8px; }

.grid2{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin-top:12px;
}
.box{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:12px;
  box-shadow:0 6px 18px rgba(16,24,40,.06);
}
.box h3{ margin:0 0 10px; font-size:16px; }
.hint{ color:var(--muted); display:block; margin-top:8px; }

.actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:10px 0 12px;
}

.btn{
  border:none;
  border-radius:999px;
  padding:10px 14px;
  font-weight:1000;
  cursor:pointer;
  background:linear-gradient(90deg, var(--a), var(--p));
  color:#fff;
}
.btn--ghost{
  background:#fff;
  color:var(--txt);
  border:1px solid var(--line);
}
.fileBtn{ display:inline-flex; align-items:center; gap:8px; }

.row{ display:flex; gap:12px; flex-wrap:wrap; }
.field{ display:flex; flex-direction:column; gap:6px; min-width:240px; }
.field span{ font-weight:1000; font-size:12px; color:#3b2b5f; }

input, select, textarea{
  border:1px solid var(--line);
  border-radius:12px;
  padding:12px 10px;
  font-weight:900;
  background:#fff;
  font-size:14px;
  width:100%;
}
textarea{ resize:vertical; }

.tableWrap{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  overflow:auto;
  box-shadow:0 6px 18px rgba(16,24,40,.06);
}
.table{
  width:100%;
  border-collapse:collapse;
  min-width:1250px;
}
.table thead th{
  position:sticky;
  top:0;
  background:#2B2D42;
  color:#fff;
  text-align:left;
  padding:10px;
  font-size:12px;
  letter-spacing:.2px;
}
.table td{
  border-top:1px solid var(--line);
  padding:10px;
  vertical-align:top;
}

.mini{
  width:100%;
  min-width:120px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px;
  background:var(--edit);
  font-weight:1000;
}
.mini.read{ background:var(--soft); }
.mini.money{ text-align:right; }

.iconBtn{
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  padding:8px 10px;
  cursor:pointer;
  font-weight:1100;
}
.iconRow{ display:flex; gap:8px; align-items:center; }

.notice{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #ffb4b4;
  background:#ffe7e7;
  border-radius:12px;
  font-weight:1000;
}
.danger{ background:#ffe7e7 !important; border-color:#ffb4b4 !important; }
.ok{ background:#e7fff0 !important; border-color:#b4ffd0 !important; }

.footer{
  padding:16px;
  text-align:center;
  color:var(--muted);
}

pre{
  white-space:pre-wrap;
  margin:0;
  font-family:inherit;
  background:#f7f7fb;
  padding:10px;
  border-radius:12px;
  border:1px solid #eee;
}

.dashHead{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
}
.dashLogo{
  width:64px;
  height:64px;
  border-radius:18px;
  object-fit:cover;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
}
.dashLogo.isHidden{ display:none; }

.backupDock{
  display:none;
  position:fixed;
  right:16px;
  bottom:16px;
  z-index:80;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.backupDock .btn{ width:auto; }

@media (min-width: 900px){
  .grid2{ grid-template-columns:1fr 1fr; }
  .card{ grid-column:span 3; }
  .wrap{ padding:18px; }
}

@media (max-width: 768px){
  .topbar{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }

  .topbar__right{
    width:100%;
    justify-content:flex-start;
    gap:8px;
  }

  .topbar__right .btn{ width:auto; }

  .brand__title{ font-size:16px; }
  .brand__subtitle{ font-size:11px; }

  .tabs{ padding:8px; gap:6px; top:118px; }
  .tab{ padding:8px 12px; font-size:12px; }

  .cards{ grid-template-columns:1fr; }
  .card{ grid-column:span 12; }
  .card__value{ font-size:20px; }

  .wrap{ padding:10px; }

  input, select, textarea{
    font-size:14px;
    padding:10px;
  }
  .field{ min-width:100%; }

  .btn{
    width:100%;
    justify-content:center;
  }
  .actions{
    flex-direction:column;
    gap:8px;
  }

  .tableWrap{ overflow-x:auto; }
  .table{ min-width:900px; }

  .table thead th{
    font-size:11px;
    padding:8px;
  }
  .table td{ padding:8px; }

  .mini{
    min-width:110px;
    font-size:13px;
    padding:8px;
  }

  canvas{
    width:100% !important;
    height:180px !important;
  }

  .footer{
    font-size:12px;
    padding:12px;
  }

  .backupDock{
    left:10px;
    right:10px;
    bottom:10px;
    justify-content:stretch;
  }
  .backupDock .btn{ width:100%; }
}

.calTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin:10px 0 12px;
}
.calNav{
  display:flex;
  align-items:center;
  gap:10px;
  width:100%;
  justify-content:center;
}
.calTitle{
  font-weight:1100;
  font-size:18px;
  padding:10px 14px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:999px;
  min-width:190px;
  text-align:center;
  box-shadow:0 4px 14px rgba(16,24,40,.05);
}
.calActions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  width:100%;
  justify-content:center;
}
.calWrap{
  display:grid;
  grid-template-columns: 1fr;
  gap:14px;
  align-items:start;
}
.calBox{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:14px;
  box-shadow:0 8px 22px rgba(16,24,40,.06);
  overflow:hidden;
}
.calWeek{
  display:grid;
  grid-template-columns:repeat(7, minmax(0,1fr));
  gap:8px;
  margin-bottom:8px;
  font-weight:1000;
  color:#3b2b5f;
  font-size:13px;
}
.calWeek > div{
  min-width:0;
  padding:8px 4px;
  border-radius:12px;
  background:linear-gradient(135deg, var(--soft2), var(--soft));
  border:1px solid #eee;
  text-align:center;
}
.calGrid{
  display:grid;
  grid-template-columns:repeat(7, minmax(0,1fr));
  gap:8px;
}
.calDay{
  min-width:0;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
  min-height:96px;
  padding:8px 7px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:6px;
  box-shadow:0 4px 12px rgba(16,24,40,.045);
  transition:.15s ease;
  position:relative;
  overflow:hidden;
}
.calDay:hover{ transform:translateY(-1px); }
.calDay.isOther{
  opacity:.42;
  background:#fafafa;
}
.calDay.isToday{
  background:linear-gradient(135deg, #fff, var(--soft));
  border-color:rgba(188,67,222,.35);
}
.calDay.isSelected{
  background:linear-gradient(135deg, rgba(255,240,251,.96), rgba(251,229,255,.82));
  outline:2px solid rgba(188,67,222,.55);
  border-color:rgba(188,67,222,.75);
  box-shadow:0 6px 18px rgba(188,67,222,.18);
}
.calDayTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:4px;
}
.calNum{
  font-weight:1100;
  font-size:18px;
  line-height:1;
}
.calBadges{
  display:flex;
  gap:4px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.calCount,
.calMoney,
.calConflict{
  min-width:22px;
  height:22px;
  padding:0 6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font-size:11px;
  line-height:1;
  font-weight:1100;
  white-space:nowrap;
}
.calMoney{
  background:#dcfff0;
  border-color:#b3ffd4;
  color:#12623b;
}
.calConflict{
  background:#ffe5e5;
  border-color:#ffb1b1;
  color:#8a1f1f;
}
.calMiniList{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:auto;
}
.calTime{
  display:flex;
  align-items:center;
  gap:4px;
  font-size:14px;
  line-height:1.05;
  font-weight:900;
  color:#1f2330;
  white-space:nowrap;
}
.calTime::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#a64ac9;
  flex:0 0 auto;
}
.calTime.done::before{ background:#2bb673; }
.calTime.cancel::before{ background:#ff5d5d; }
.calTime.block::before{ background:#ff9f1c; }
.calTime.book::before{ background:#a64ac9; }
.calSide .box{ height:100%; }
.calResumo{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:8px 0 14px;
}
.calChip{
  padding:7px 12px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font-weight:1000;
  font-size:13px;
}
.calChip.danger{
  background:#ffe7e7;
  border-color:#ffb4b4;
  color:#8a1f1f;
}
.calListItem{
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:12px;
}
.calListItem.danger{
  background:#ffe7e7;
  border-color:#ffb4b4;
}
.calListHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}
.calListHead b{ font-size:16px; }
.calListMeta{
  font-size:14px;
  color:var(--muted);
  font-weight:900;
}
#calDayList .actions{ margin:8px 0 0; }
#calDayList .actions .btn{ width:auto; }
@media (max-width:768px){
  .calBox{ padding:10px; border-radius:20px; }
  .calWeek{ gap:6px; font-size:12px; }
  .calWeek > div{ padding:7px 2px; border-radius:11px; }
  .calGrid{ gap:6px; }
  .calDay{
    min-height:74px;
    padding:7px 5px;
    border-radius:14px;
  }
  .calNum{ font-size:15px; }
  .calCount,.calMoney,.calConflict{
    min-width:18px;
    height:18px;
    padding:0 4px;
    font-size:10px;
  }
  .calMiniList{ gap:3px; }
  .calTime{ font-size:11px; }
  .calTime::before{ width:5px; height:5px; }
  #calDayList .actions .btn{ width:100%; }
}
@media (max-width:390px){
  .calBox{ padding:8px; }
  .calWeek{ gap:4px; }
  .calGrid{ gap:4px; }
  .calDay{
    min-height:68px;
    padding:6px 4px;
    border-radius:12px;
  }
  .calNum{ font-size:14px; }
  .calTime{ font-size:10px; }
  .calCount,.calMoney,.calConflict{ font-size:9px; min-width:17px; height:17px; }
}

#tblAgenda thead th{ background:linear-gradient(90deg, var(--p), #5a189a); }
#tblAtend thead th{ background:linear-gradient(90deg, var(--a), var(--p)); }
#tblProc thead th{ background:linear-gradient(90deg, #2B2D42, #1f2230); }

#calDayList .actions{ margin:6px 0 0; }
#calDayList .actions .btn{ width:auto; }
@media (max-width:768px){
  #calDayList .actions .btn{ width:100%; }
}

#tblCrm thead th{
  background:linear-gradient(90deg, #2B2D42, var(--p));
}
.crmSummary{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.crmPill{
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background:#fff;
  font-weight:1100;
  font-size:12px;
}
.crmPill.a30{ background:linear-gradient(135deg, var(--soft2), var(--soft)); border-color:transparent; }
.crmPill.b{ background:#fff7e6; border-color:#ffd7a8; }
.crmPill.c{ background:#ffe7e7; border-color:#ffb4b4; }
.crmPill.ok{ background:#e7fff0; border-color:#b4ffd0; }

.crmModal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  z-index:200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.crmModal[hidden]{ display:none; }
.crmModal__card{
  width:min(820px, 100%);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  padding:14px;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.crmModal__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

#tblCRM thead th{
  background:linear-gradient(90deg, #2B2D42, var(--p));
}

.calDay{ will-change: transform; }

.planBadge{
  display:inline-flex;
  margin-top:4px;
  padding:4px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-weight:1000;
  font-size:11px;
}
.tab.locked{
  opacity:.55;
  filter:grayscale(.15);
}
.tab .lockMark{ display:none; }
.tab.locked .lockMark{ display:inline; }
.featureLocked{
  opacity:.45;
  pointer-events:none;
  position:relative;
}
.featureLocked::after{
  content:"Disponível em plano superior";
  position:absolute;
  inset:auto 12px 12px 12px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:8px;
  font-weight:1000;
  text-align:center;
}

.planBadge{
  display:inline-block;
  margin-top:5px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.25);
  font-size:11px;
  font-weight:1000;
}
.tab.locked{ opacity:.58; }
.lockMark{ display:none; }
.tab.locked .lockMark{ display:inline; }
.featureLocked{
  position:relative;
  opacity:.70;
}
.featureLocked::after{
  content:"Disponível em plano superior";
  display:block;
  margin-top:8px;
  padding:8px 10px;
  border-radius:12px;
  background:#fff4d6;
  border:1px solid #ffd37a;
  color:#5b4100;
  font-weight:1000;
  font-size:12px;
}
.thumbProc{
  width:72px;
  height:72px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid var(--line);
  display:block;
  margin-top:6px;
}
.photoFolder{
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px;
  margin:10px 0;
  background:#fff;
}
.photoFolder summary{
  cursor:pointer;
  font-weight:1000;
}
.hintInline{
  color:var(--muted);
  font-size:12px;
  margin-left:6px;
}
.photoGrid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
  gap:10px;
  margin-top:10px;
}
.photoCard{
  border:1px solid var(--line);
  border-radius:14px;
  padding:8px;
  background:#f7f7fb;
}
.photoCard img{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  border-radius:10px;
  display:block;
}
.photoMeta{
  margin-top:6px;
  font-size:12px;
  color:var(--muted);
  font-weight:900;
}

.smallValue{
  font-size:16px !important;
  line-height:1.2;
}
.statusLegend{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
  font-weight:900;
  color:var(--muted);
}
.statusLegend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid var(--line);
  background:#fff;
  padding:6px 10px;
  border-radius:999px;
}
.dot{
  width:10px;
  height:10px;
  display:inline-block;
  border-radius:999px;
}
.dot.livre{ background:#d1fae5; }
.dot.confirmado{ background:#bfdbfe; }
.dot.realizado{ background:#bbf7d0; }
.dot.cancelado{ background:#fecaca; }
.dot.bloqueado{ background:#9ca3af; }
.miniCards{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px;
}
.miniCard{
  border:1px solid var(--line);
  background:linear-gradient(135deg, var(--soft2), var(--soft));
  border-radius:14px;
  padding:10px;
}
.miniCard b{ display:block; font-size:12px; color:#3b2b5f; }
.miniCard span{ display:block; font-size:22px; font-weight:1100; margin-top:4px; }
.dangerText{ color:#b42318 !important; font-weight:1000; }
@media (max-width:768px){
  .miniCards{ grid-template-columns:1fr; }
}

.dashExportActions{ margin-top:6px; margin-bottom:14px; }
.dashExportActions .btn{ min-width:160px; }

body.auth-locked .tabs,
body.auth-locked .wrap,
body.auth-locked .footer{ display:none !important; }
body.auth-locked::after{
  content:"Faça login para acessar o Mania de Agendar.";
  display:block;
  text-align:center;
  margin-top:80px;
  color:#6b7280;
  font-weight:900;
}

.authGate{
  display:none;
  max-width:520px;
  margin:80px auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  padding:22px;
  text-align:center;
  font-weight:1000;
  box-shadow:0 6px 18px rgba(16,24,40,.06);
}
body.auth-locked .authGate{ display:block; }
body.auth-locked .tabs,
body.auth-locked .wrap,
body.auth-locked .footer{ display:none !important; }

.planBadge{
  display:inline-block;
  margin-top:6px;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.35);
  font-size:12px;
  font-weight:1000;
}
.planModal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  z-index:300;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
}
.planModal[hidden]{ display:none; }
.planModal__card{
  width:min(980px, 100%);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:16px;
  box-shadow:0 20px 60px rgba(0,0,0,.18);
}
.planModal__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.planModal__head h2{ margin:0 0 4px; }
.planModal__head p{ margin:0; color:var(--muted); }
.planWarn{
  margin:12px 0;
  padding:10px 12px;
  border-radius:14px;
  border:1px solid #b4ffd0;
  background:#e7fff0;
  font-weight:1000;
}
.planCards{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.planCard{
  border:1px solid var(--line);
  border-radius:18px;
  padding:14px;
  background:#fff;
  box-shadow:0 6px 18px rgba(16,24,40,.06);
}
.planCard.active{
  border-color:transparent;
  background:linear-gradient(135deg, var(--soft2), var(--soft));
}
.planCard__top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
  margin-bottom:10px;
}
.planCard__top b{ font-size:18px; }
.planCard__top span{ font-weight:1100; color:#3b2b5f; }

.planCard--pro{
  border-color:color-mix(in srgb, var(--p) 28%, var(--line));
}
.planCard--premium{
  border-color:color-mix(in srgb, var(--a) 34%, var(--line));
  background:linear-gradient(135deg, #fff, color-mix(in srgb, var(--a) 7%, #fff));
}
.planCard__priceBlock{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  text-align:right;
}
.planCard__price{
  font-weight:1100;
  color:#3b2b5f;
}
.planCard__saving{
  display:block;
  color:var(--a, #F72585);
  font-size:13px;
  font-weight:900;
  line-height:1.25;
}
.planCard ul{ margin:0 0 12px; padding-left:18px; }
.planCard li{ margin:6px 0; font-weight:800; }
.thumbProc{ display:none !important; }
@media (max-width:768px){ .planCards{ grid-template-columns:1fr; } }

.authBox{ display:none; padding:18px; max-width:520px; margin:28px auto; }
body.auth-locked .authBox{ display:block; }
body.auth-locked .authGate{ display:none !important; }
.authCard{ background:#fff; border:1px solid var(--line); border-radius:22px; padding:18px; box-shadow:0 12px 34px rgba(16,24,40,.10); }
.authCard h2{ margin:0 0 6px; }
.authTabs{ display:flex; gap:8px; margin:14px 0; }
.authTab{ flex:1; border:1px solid var(--line); background:#fff; border-radius:999px; padding:10px 12px; font-weight:1000; cursor:pointer; }
.authTab.active{ border-color:transparent; color:#fff; background:linear-gradient(90deg,var(--a),var(--p)); }
.authForm{ display:flex; flex-direction:column; gap:10px; }
.authForm.isHidden{ display:none; }
.linkBtn{ border:none; background:transparent; color:var(--p); font-weight:1000; padding:8px; cursor:pointer; }
.authMsg{ margin-top:10px; font-weight:900; color:var(--muted); }
body:not(.auth-locked) .authBox{ display:none !important; }
.tab[data-tab="desenvolvedor"].devHidden{ display:none !important; }
.devAccessBox{ margin-top:12px; }
.planDevNotice{ padding:10px 12px; border-radius:14px; background:#eef6ff; border:1px solid #cfe8ff; font-weight:900; }

.supportTopBtn{background:#fff;color:var(--txt);border:1px solid rgba(255,255,255,.65);}
.supportModal{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:260;display:flex;align-items:center;justify-content:center;padding:16px;}
.supportModal[hidden]{display:none;}
.supportModal__card{width:min(560px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:0 18px 50px rgba(0,0,0,.18);}
.supportModal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px;}
.supportModal__head h2{margin:0 0 4px;}
.supportModal__head p{margin:0;color:var(--muted);}
.supportGrid{display:grid;grid-template-columns:1fr;gap:10px;}
.footer #syncInfo{display:none!important;}
@media (min-width:700px){.supportGrid{grid-template-columns:1fr 1fr 1fr;}}

.simpleList{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.simpleItem{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px;font-weight:800;box-shadow:0 3px 10px rgba(16,24,40,.04)}
.photoGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:12px}
.photoClient{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px;box-shadow:0 6px 18px rgba(16,24,40,.06)}
.photoClient h3{margin:0 0 6px;font-size:16px}
.photoMiniWrap{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.photoMiniWrap img{width:72px;height:72px;object-fit:cover;border-radius:14px;border:1px solid var(--line);background:#f7f7fb}
#tblEquipeV41{min-width:900px}
.planBadge{display:inline-block;margin-top:4px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);font-size:12px;font-weight:1000;cursor:pointer}
.dashExportActions{margin-top:0}
@media(max-width:768px){.photoGrid{grid-template-columns:1fr}.simpleItem{font-size:13px}}

.dashboardQuick,
.dashboardLists,
.dashboardFinanceBox{ margin-top:16px; }
.dashboardFinanceBox .miniHead{ margin-bottom:10px; }
.quickStats{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:10px; }
.quickStats div{ background:rgba(214,77,205,.10); border:1px solid rgba(214,77,205,.14); border-radius:16px; padding:12px; }
.quickStats b{ display:block; font-size:22px; color:#24263a; }
.quickStats span{ display:block; font-size:12px; color:#6b7280; margin-top:4px; }
.goalLine{ display:flex; justify-content:space-between; gap:12px; align-items:center; margin:8px 0 10px; font-weight:800; }
.goalBar{ height:14px; border-radius:999px; background:#edf0f6; overflow:hidden; border:1px solid rgba(0,0,0,.06); }
.goalBar i{ display:block; height:100%; width:0%; border-radius:999px; background:linear-gradient(90deg,var(--accent,#d64dcd),var(--primary,#6a1bb1)); transition:width .25s ease; }
.simpleList .simpleItem{ margin-bottom:8px; }
@media(max-width:760px){ .quickStats{ grid-template-columns:1fr; } }

.inputWarn{border:1px solid #f59e0b!important;background:#fff7ed!important;}
.panel[data-route="relatorios"], .tab[data-tab="relatorios"]{display:none!important;}
#cfgCorPrimaria,#cfgCorAcento{display:none!important;}

.userTopBtn{margin-left:8px}
.userModalOverlay{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:9999;display:flex;align-items:center;justify-content:center;padding:18px}
.userModal{width:min(760px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 24px 80px rgba(0,0,0,.25);padding:22px}
.userModal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}
.userModal__head h2{margin:0}
.userGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.userBox{background:#f8fafc;border:1px solid #e5e7eb;border-radius:18px;padding:14px}
.userBox h3{margin-top:0}
.userActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.userClose{border:0;background:#f1f5f9;border-radius:999px;width:34px;height:34px;cursor:pointer;font-weight:800}
.userDanger{background:#fee2e2!important;color:#991b1b!important}
.userChangeList{font-size:13px;color:#475569;line-height:1.5}
@media(max-width:720px){.userGrid{grid-template-columns:1fr}.userModal{padding:16px}}

.clientFolderGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.compactFolder{padding:10px;border:1px solid rgba(15,23,42,.08);border-radius:14px;background:#fff}
.compactFolder summary{cursor:pointer;font-weight:700;list-style:none}
.compactFolder summary::-webkit-details-marker{display:none}
.dangerText{color:#b91c1c;font-weight:700}

body.auth-locked .tabs, body.auth-locked main, body.auth-locked #btnUserArea{display:none!important}

#cfgCorPrimaria,#cfgCorAcento{display:inline-block!important;width:80px!important;height:42px!important;padding:4px!important;border-radius:10px!important;}

.devMasterShell{display:grid;gap:14px}
.devMasterNav{display:flex;gap:8px;flex-wrap:wrap;background:rgba(255,255,255,.7);border:1px solid rgba(20,20,40,.08);border-radius:18px;padding:10px;position:sticky;top:8px;z-index:3}
.devMasterNav button{border:0;border-radius:999px;padding:10px 14px;font-weight:800;background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.05);cursor:pointer}
.devMasterNav button.active{background:linear-gradient(90deg,var(--primary,#7B2CBF),var(--accent,#F72585));color:#fff}
.devGrid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.devGrid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.devGrid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.devBox{background:rgba(255,255,255,.78);border:1px solid rgba(20,20,40,.08);border-radius:18px;padding:16px;box-shadow:0 10px 28px rgba(0,0,0,.04)}
.devBox h3{margin:0 0 10px 0}
.devMetric{font-size:24px;font-weight:900;margin-top:4px}
.devMuted{color:#706879;font-size:12px}
.devActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.devTable{overflow:auto;border:1px solid rgba(20,20,40,.08);border-radius:14px;background:#fff}
.devTable table{width:100%;border-collapse:collapse;min-width:920px}
.devTable th{background:#1d2230;color:#fff;text-align:left;padding:10px;font-size:12px;white-space:nowrap}
.devTable td{padding:8px;border-bottom:1px solid rgba(20,20,40,.07);vertical-align:top}
.devMasterShell input,.devMasterShell select,.devMasterShell textarea{width:100%;border:1px solid rgba(20,20,40,.12);border-radius:10px;padding:9px;background:rgba(255,255,255,.9);font:inherit;box-sizing:border-box}
.devMasterShell textarea{min-height:76px;resize:vertical}
.devSwitches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.devSwitch{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid rgba(20,20,40,.08);border-radius:12px;padding:9px}
.devSwitch input{width:auto}
.devItem{background:rgba(255,255,255,.75);border:1px solid rgba(20,20,40,.08);border-radius:12px;padding:10px;margin-top:8px}
.devPill{display:inline-block;border-radius:999px;padding:4px 9px;background:#f4e7f7;font-size:12px;font-weight:800}
@media(max-width:900px){.devGrid2,.devGrid3,.devGrid4{grid-template-columns:1fr}.devTable table{min-width:760px}.devSwitches{grid-template-columns:1fr}}

.tab[data-tab="desenvolvedor"].devForceShow{display:inline-flex!important}
.devMasterNav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.devMasterNav button{border:0;border-radius:999px;padding:10px 14px;font-weight:800;background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.06);cursor:pointer}
.devMasterNav button.active{background:linear-gradient(90deg,var(--primary,#7B2CBF),var(--accent,#F72585));color:#fff}

.devProRoot .devHero{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}
.devProRoot .devHero__title h2{margin:0 0 6px;font-size:28px}
.devProRoot .devHero__title p{margin:0;color:var(--muted)}
.devProRoot .devStatusPill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;padding:8px 12px;background:var(--card);font-weight:700}
.devProRoot .devDot{width:10px;height:10px;border-radius:50%;background:#22c55e;display:inline-block}
.devProRoot .devDot.warn{background:#f59e0b}.devProRoot .devDot.danger{background:#ef4444}
.devProRoot .devTabs{display:flex;gap:8px;overflow:auto;padding:4px 0 14px;margin-bottom:4px}
.devProRoot .devTab{border:1px solid var(--border);background:var(--card);border-radius:999px;padding:9px 13px;font-weight:700;white-space:nowrap;cursor:pointer;color:var(--text)}
.devProRoot .devTab.active{background:linear-gradient(135deg,var(--p),var(--a));color:#fff;border-color:transparent}
.devProRoot .devPanel{display:none}.devProRoot .devPanel.active{display:block}
.devProRoot .devKpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.devProRoot .devKpi{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:14px;box-shadow:var(--shadow)}
.devProRoot .devKpi span{display:block;color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.devProRoot .devKpi b{display:block;font-size:24px;margin-top:6px}
.devProRoot .devToolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0}
.devProRoot .devTableWrap{overflow:auto;border:1px solid var(--border);border-radius:16px;background:var(--card)}
.devProRoot .devTable{width:100%;border-collapse:collapse;min-width:780px}
.devProRoot .devTable th,.devProRoot .devTable td{padding:10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}
.devProRoot .devTable th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:rgba(0,0,0,.03)}
.devProRoot .devTable tr:last-child td{border-bottom:0}
.devProRoot .devInput,.devProRoot .devSelect,.devProRoot .devTextarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:9px 10px;background:var(--bg);color:var(--text);outline:none}
.devProRoot .devTextarea{min-height:98px;resize:vertical}
.devProRoot .devMini{max-width:120px}.devProRoot .devBadge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800;background:rgba(123,44,191,.12);color:var(--p)}
.devProRoot .devBadge.ok{background:rgba(34,197,94,.14);color:#15803d}.devProRoot .devBadge.warn{background:rgba(245,158,11,.16);color:#b45309}.devProRoot .devBadge.danger{background:rgba(239,68,68,.13);color:#b91c1c}
.devProRoot .devReleaseCard,.devProRoot .devTicketCard,.devProRoot .devLogCard{border:1px solid var(--border);background:var(--card);border-radius:16px;padding:12px;margin:10px 0}
.devProRoot .devReleaseCard b,.devProRoot .devTicketCard b{display:block;margin-bottom:4px}.devProRoot .devSmall{font-size:12px;color:var(--muted)}
.devProRoot .devSplit{display:grid;grid-template-columns:1fr 1fr;gap:12px}.devProRoot .devThree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.devProRoot .devNotice{border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.10);border-radius:16px;padding:12px;margin:10px 0;color:var(--text)}
@media(max-width:900px){.devProRoot .devKpis{grid-template-columns:repeat(2,minmax(0,1fr))}.devProRoot .devSplit,.devProRoot .devThree{grid-template-columns:1fr}}
@media(max-width:560px){.devProRoot .devKpis{grid-template-columns:1fr}.devProRoot .devHero__title h2{font-size:23px}}

.devMaster{max-width:1280px;margin:0 auto}.devLayout{display:grid;grid-template-columns:210px 1fr;gap:16px;align-items:start}.devSide{position:sticky;top:12px;display:flex;flex-direction:column;gap:8px;background:rgba(255,255,255,.7);border:1px solid rgba(17,24,39,.08);border-radius:22px;padding:12px}.devSideBtn{border:0;border-radius:14px;background:transparent;text-align:left;padding:11px 12px;font-weight:800;color:#374151;cursor:pointer}.devSideBtn.active,.devSideBtn:hover{background:linear-gradient(135deg,var(--primary,#7b2cbf),var(--accent,#f72585));color:white}.devMain{min-width:0}.devGrid,.devSplit{display:grid;grid-template-columns:1fr 1fr;gap:14px}.devThree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.devKpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:14px 0}.devKpi{background:white;border:1px solid rgba(17,24,39,.08);border-radius:18px;padding:14px;box-shadow:0 10px 25px rgba(15,23,42,.05)}.devKpi span{display:block;font-size:12px;color:#6b7280;font-weight:800}.devKpi b{font-size:22px}.devToolbar{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.devInput,.devSelect,.devTextarea{width:100%;border:1px solid #e5e7eb;border-radius:12px;padding:10px;background:white;font-weight:700}.devTextarea{min-height:90px}.devTableWrap{overflow:auto}.devTable{width:100%;border-collapse:separate;border-spacing:0}.devTable th{background:#1f2937;color:white;padding:10px;text-align:left;white-space:nowrap}.devTable td{border-bottom:1px solid #edf0f4;padding:8px;vertical-align:top}.devBadge{display:inline-block;border-radius:999px;padding:4px 9px;background:#eef2ff;font-weight:900;font-size:12px}.devBadge.ok{background:#dcfce7;color:#166534}.devBadge.warn{background:#fef3c7;color:#92400e}.devBadge.danger{background:#fee2e2;color:#991b1b}.devLogCard,.devTicketCard,.devReleaseCard,.devNotice{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:12px;margin:8px 0}.devSmall{font-size:12px;color:#6b7280;font-weight:800}.devStatusPill{background:white;border:1px solid rgba(17,24,39,.08);border-radius:999px;padding:9px 12px;font-weight:900}.devDot{display:inline-block;width:10px;height:10px;border-radius:99px;background:#22c55e;margin-right:6px}.devDot.warn{background:#f59e0b}@media(max-width:900px){.devLayout,.devGrid,.devSplit,.devThree{grid-template-columns:1fr}.devSide{position:static;display:grid;grid-template-columns:repeat(2,1fr)}}

.hiddenHard{display:none!important}
.sjmStatusPill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.06);font-weight:800}
.sjmDevGrid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin:12px 0}
.sjmDevGrid3{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:12px 0}
.sjmDevCard{background:var(--card,#fff);border-radius:18px;padding:16px;box-shadow:0 12px 30px rgba(0,0,0,.06);border:1px solid rgba(20,20,40,.06)}
.sjmDevCard h3{margin:0 0 8px;font-size:15px}
.sjmDevBig{font-size:26px;font-weight:900;margin-top:6px}
.sjmDevNav{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}
.sjmDevNav button{border:0;border-radius:999px;background:#fff;padding:9px 12px;font-weight:800;cursor:pointer;box-shadow:0 6px 14px rgba(0,0,0,.06)}
.sjmDevNav button.active{background:linear-gradient(90deg,var(--p,#7B2CBF),var(--a,#F72585));color:#fff}
.sjmDevSection{display:none}
.sjmDevSection.active{display:block}
.sjmMiniTable{width:100%;border-collapse:separate;border-spacing:0 8px}
.sjmMiniTable th{font-size:12px;text-align:left;color:#4b4b5a;background:#15152b;color:#fff;padding:10px}
.sjmMiniTable td{background:#fff;padding:10px;border-top:1px solid rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.05)}
.sjmMiniTable tr td:first-child,.sjmMiniTable tr th:first-child{border-radius:12px 0 0 12px}
.sjmMiniTable tr td:last-child,.sjmMiniTable tr th:last-child{border-radius:0 12px 12px 0}
.sjmFeatureLine{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(0,0,0,.06)}
.sjmFeatureLine:last-child{border-bottom:0}
.sjmRewardAlert{background:#fff7d6;border:1px solid #f3d46a;border-radius:14px;padding:10px;margin:8px 0;font-weight:800}
.sjmAutoDisabledBox{background:#fff3f3;border:1px solid #f1b5b5;border-radius:16px;padding:14px;font-weight:800;color:#8a1f1f}
@media(max-width:900px){.sjmDevGrid,.sjmDevGrid3{grid-template-columns:1fr}.sjmMiniTable{font-size:12px}}

.photoExplorer{border:1px solid rgba(15,23,42,.08);border-radius:18px;background:#fff;overflow:hidden}
.photoExplorerTop{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid rgba(15,23,42,.08);background:#fafafa}
.photoSearch{width:100%;max-width:420px;border:1px solid rgba(15,23,42,.12);border-radius:14px;padding:12px 14px;font-weight:700;background:#fff}
.photoExplorerBody{display:grid;grid-template-columns:minmax(220px,310px) 1fr;min-height:320px}
.photoClientList{border-right:1px solid rgba(15,23,42,.08);max-height:460px;overflow:auto;background:#fbfbfd}
.photoClientRow{width:100%;border:0;border-bottom:1px solid rgba(15,23,42,.07);background:transparent;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}
.photoClientRow:hover,.photoClientRow.active{background:#f4e8ff}
.photoClientRow b{display:block;color:#202033;font-size:14px}
.photoClientRow small{display:block;color:#6b7280;margin-top:3px}
.photoClientRow strong{font-size:22px;color:#7B2CBF}
.photoViewer{padding:14px;min-width:0}
.photoViewerHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.photoViewerHead h3{margin:0 0 2px 0}
.photoEmpty{border:1px dashed rgba(15,23,42,.18);border-radius:16px;padding:22px;text-align:center;background:#fafafa;color:#374151}
.photoGridLarge{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))!important}
.photoGridLarge .photoCard{text-decoration:none;color:inherit;display:block}
@media(max-width:800px){.photoExplorerBody{grid-template-columns:1fr}.photoClientList{border-right:0;border-bottom:1px solid rgba(15,23,42,.08);max-height:260px}.photoExplorerTop{align-items:flex-start;flex-direction:column}.photoSearch{max-width:none}}

.clientesCompactPanel{margin-top:12px;}
.clientesCompactTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.clientesCompactTop h3{margin:0 0 4px;}
.clientesCompactLayout{display:grid;grid-template-columns:minmax(230px,300px) 1fr;gap:14px;align-items:stretch;}
.clientesCompactSide{border:1px solid var(--line,#e5e7eb);border-radius:16px;padding:10px;background:#fff;min-height:360px;}
.clientesCompactSide input{width:100%;margin-bottom:10px;}
.clientesCompactList{max-height:340px;overflow-y:auto;padding-right:4px;display:flex;flex-direction:column;gap:6px;}
.clienteListItem{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;border:1px solid var(--line,#e5e7eb);background:#fff;border-radius:12px;padding:10px;cursor:pointer;color:var(--text,#111827);}
.clienteListItem:hover,.clienteListItem.active{border-color:var(--a,#d946ef);background:rgba(217,70,239,.08);}
.clienteListItem span{display:flex;flex-direction:column;gap:2px;min-width:0;}
.clienteListItem b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px;}
.clienteListItem small{font-size:11px;color:var(--muted,#6b7280);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px;}
.clienteListItem em{font-style:normal;font-size:11px;color:var(--muted,#6b7280);white-space:nowrap;}
.clienteFichaBox{border:1px solid var(--line,#e5e7eb);border-radius:16px;padding:14px;background:#fff;min-height:360px;}
.clienteFichaHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px;}
.clienteFichaHead h3{margin:0 0 3px;}
.clienteFichaHead p{margin:0;color:var(--muted,#6b7280);}
.clienteFichaGrid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;}
.clienteFichaGrid label{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:12px;color:var(--text,#111827);}
.clienteFichaGrid input,.clienteFichaGrid select{width:100%;}
.clienteFichaFull{grid-column:1/-1;}
.clienteFichaActions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px;}
.clienteFichaEmpty{height:100%;min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--muted,#6b7280);gap:6px;border:1px dashed var(--line,#e5e7eb);border-radius:14px;}
.compactEmpty{padding:12px;text-align:center;}
.iconBtn.danger{color:#b91c1c;background:#fee2e2;border-color:#fecaca;}
@media(max-width:760px){.clientesCompactLayout{grid-template-columns:1fr}.clientesCompactList{max-height:260px}.clienteFichaGrid{grid-template-columns:1fr}.clienteFichaActions,.clienteFichaHead{flex-direction:column;align-items:stretch}}

.agendaCompact{
  display:grid;
  grid-template-columns:minmax(260px, 32%) 1fr;
  gap:16px;
  align-items:start;
  margin-top:14px;
}
.agendaCompact__left,
.agendaCompact__right{
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:0 6px 18px rgba(16,24,40,.06);
}
.agendaCompact__left{ overflow:hidden; }
.agendaCompact__right{ padding:16px; min-height:420px; }
.agendaCompact__filters{ padding:14px; border-bottom:1px solid var(--line); display:grid; gap:10px; }
.agendaCompact__filterRow{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.agendaCompact__list{ max-height:620px; overflow:auto; }
.agendaItem{
  width:100%; border:0; border-bottom:1px solid var(--line); background:#fff; text-align:left;
  padding:12px 14px; cursor:pointer; display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center;
}
.agendaItem:hover{ background:var(--soft); }
.agendaItem.isActive{ background:#f4ecff; box-shadow:inset 4px 0 0 var(--primary); }
.agendaItem__name{ font-weight:1100; color:#2b2440; text-transform:uppercase; font-size:13px; }
.agendaItem__meta{ display:flex; gap:8px; flex-wrap:wrap; color:#6b607f; font-size:12px; font-weight:900; margin-top:3px; }
.agendaItem__arrow{ color:var(--primary); font-size:22px; font-weight:1100; }
.agendaBadge{ display:inline-flex; align-items:center; gap:5px; border:1px solid var(--line); border-radius:999px; padding:4px 8px; font-size:11px; font-weight:1000; background:#fff; }
.agendaBadge::before{ content:""; width:8px; height:8px; border-radius:50%; background:#9aa0a6; }
.agendaBadge--agendado::before{ background:#2f80ed; }
.agendaBadge--realizado::before{ background:#27ae60; }
.agendaBadge--cancelado::before{ background:#eb5757; }
.agendaBadge--remarcado::before{ background:#f2c94c; }
.agendaBadge--bloqueio::before{ background:#4f4f4f; }
.agendaDetail__head{ display:flex; justify-content:space-between; gap:12px; align-items:flex-start; margin-bottom:14px; }
.agendaDetail__head h3{ margin:0; color:#2b2440; }
.agendaDetail__grid{ display:grid; grid-template-columns:repeat(2, minmax(180px, 1fr)); gap:12px; }
.agendaDetail__grid .field{ min-width:0; }
.agendaDetail__wide{ grid-column:1 / -1; }
.agendaDetail__actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.agendaTableLegacy{ display:none; }
@media(max-width:900px){
  .agendaCompact{ grid-template-columns:1fr; }
  .agendaCompact__list{ max-height:360px; }
  .agendaDetail__grid{ grid-template-columns:1fr; }
  .agendaCompact__filterRow{ grid-template-columns:1fr; }
}

.logoActions{
  display:flex;
  flex-direction:column;
  gap:10px;
  width:100%;
}
.logoActions .btn,
.logoActions .fileBtn{
  width:100%;
  justify-content:center;
  text-align:center;
}
.colorCompactRow{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:10px;
}
.colorCompactField{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid var(--line);
  border-radius:16px;
  padding:12px;
  font-weight:1000;
  color:#2b2440;
}
.colorCompactField input[type="color"]{
  width:54px;
  height:42px;
  padding:0;
  border:0;
  border-radius:14px;
  background:transparent;
}
.agendaTopActions .btn{ min-width:220px; }
.agendaCompact--form{
  display:block;
  max-width:100%;
}
.agendaCompact--form .agendaCompact__right{
  width:100%;
  min-height:0;
}
.agendaCompact--list{
  display:block;
}
.agendaCompact--list .agendaCompact__left{
  width:100%;
}
.agendaCompact__filters h3{
  margin:0 0 4px 0;
}
@media(max-width:768px){
  .colorCompactRow{ grid-template-columns:1fr; }
  .agendaTopActions .btn{ width:100%; min-width:0; }
}

.clienteTopActions{margin-bottom:14px;}
.clienteCompact{margin-top:10px;}
.clienteCompact[hidden]{display:none!important;}
.clienteCompact__right,.clienteCompact__left{background:#fff;border:1px solid rgba(15,23,42,.08);border-radius:22px;padding:18px;box-shadow:0 10px 30px rgba(15,23,42,.06);}
.clienteCompact__filters{display:grid;gap:10px;margin-bottom:12px;}
.clienteCompact__filters h3{margin:0;font-size:22px;}
#clienteFiltroBusca{width:100%;border:1px solid #e5e7eb;border-radius:16px;padding:14px 16px;font-weight:800;font-size:16px;background:#fff;}
.clienteCompact__list{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:4px;}
.clienteItem{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid #e5e7eb;background:#fff;border-radius:16px;padding:14px 16px;cursor:pointer;}
.clienteItem.isActive{background:rgba(135,24,68,.10);border-color:rgba(135,24,68,.35);box-shadow:inset 4px 0 0 var(--primary,#871844);}
.clienteItem__name{font-weight:950;font-size:18px;color:#232436;}
.clienteItem__meta{margin-top:4px;color:#6b7280;font-weight:700;}
.clienteItem__photos{white-space:nowrap;color:#6b7280;font-weight:800;}
.clienteDetail__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px;}
.clienteDetail__head h3{margin:0;font-size:26px;}
.clienteDetail__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.clienteDetail__wide{grid-column:1/-1;}
.clienteDetail__actions{display:grid;gap:10px;margin-top:14px;}
.clienteFotosBox{display:none!important;}
@media(max-width:760px){.clienteDetail__grid{grid-template-columns:1fr}.clienteCompact__right,.clienteCompact__left{padding:16px}.clienteItem__name{font-size:17px}}
.colorEasyRow{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;}
.colorEasyField{display:block;border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:14px!important;}
.colorEasyField>span{display:block;font-weight:950;font-size:18px;color:#24263a;margin-bottom:10px;}
.colorEasyControl{display:flex;align-items:center;gap:12px;}
#cfgCorPrimaria,#cfgCorAcento{display:block!important;width:76px!important;height:48px!important;border:0!important;padding:0!important;border-radius:14px!important;background:transparent!important;}
#cfgCorPrimariaHex,#cfgCorAcentoHex{flex:1;border:1px solid #e5e7eb;border-radius:14px;padding:13px 14px;font-weight:900;font-size:16px;text-transform:uppercase;}

.topbar{padding:10px 14px;gap:10px;}
.logo{width:38px;height:38px;border-radius:12px;}
.brand__title{font-size:16px;line-height:1.1;}
.brand__subtitle{font-size:11px;line-height:1.1;}
.planBadge{display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:4px 10px;margin-top:5px;font-size:11px;font-weight:1000;background:rgba(255,255,255,.16);}
.topbar__right .btn{padding:8px 13px;min-height:0;}
.tabs{top:58px;}
.btn[id*="Salvar"], .btn[id^="btnSave"], #btnSaveConfig{background:linear-gradient(90deg,var(--a),var(--p));color:#fff;border:0;}
.btn[id*="Excluir"], .userDanger, #btnClearLogo{color:#9b1c1c;background:#fff5f5;border-color:#fecaca;}
button[id*="Cancel"],button[id*="Cancelar"]{background:#fff;color:#374151;border:1px solid var(--line);}
#btnCopiarLinkAg,.supportGrid .btn--ghost{background:#fff;color:var(--txt);}
.planSummary{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:10px;background:linear-gradient(135deg,var(--soft2),var(--soft));}
.planSummary__badge{display:block;font-weight:1000;margin-bottom:4px;}
.planSummary small{display:block;color:var(--muted);margin-top:4px;font-weight:700;}
.planSummary__renew{text-align:right;color:#4b5563;font-weight:800;white-space:nowrap;}
.planFeatures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0;}
.planFeatures span,.backupStatus{border:1px solid var(--line);border-radius:999px;padding:9px 12px;background:#fff;font-weight:900;}
.backupStatus{display:flex;justify-content:space-between;align-items:center;border-radius:16px;margin-bottom:6px;}
.backupStatus b{color:#15803d;}
.supportGrid{display:grid;gap:10px;}
.colorEasyField{position:relative;}
.colorEasyControl input[type="color"]{box-shadow:0 2px 0 rgba(0,0,0,.25);cursor:pointer;}
.colorEasyControl input[type="text"]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;}
@media(max-width:768px){
  .topbar{padding:8px 14px;gap:8px;}
  .brandRow{gap:10px;}
  .logo{width:34px;height:34px;border-radius:11px;}
  .brand__title{font-size:15px;}
  .brand__subtitle{font-size:10px;}
  .planBadge{font-size:10px;padding:3px 8px;margin-top:4px;}
  .topbar__right{gap:8px;}
  .topbar__right .btn{padding:7px 12px;font-size:13px;}
  .tabs{top:96px;}
  .planSummary{flex-direction:column;}
  .planSummary__renew{text-align:left;}
}

.wppTemplateAccordions{ display:flex; flex-direction:column; gap:10px; }
.wppTplItem{ border:1px solid var(--line); border-radius:18px; background:#fff; overflow:hidden; }
.wppTplItem summary{ cursor:pointer; list-style:none; padding:14px 16px; font-weight:1000; color:var(--txt); display:flex; align-items:center; justify-content:space-between; }
.wppTplItem summary::-webkit-details-marker{ display:none; }
.wppTplItem summary::after{ content:'▾'; font-size:18px; color:var(--p); transition:transform .18s ease; }
.wppTplItem[open] summary::after{ transform:rotate(180deg); }
.wppTplItem .field{ padding:0 14px 14px; }
.wppTplItem textarea{ min-height:130px; resize:vertical; }

body.sjm-public-booking .tabs,
body.sjm-public-booking .wrap,
body.sjm-public-booking .footer,
body.sjm-public-booking .authBox,
body.sjm-public-booking .authGate,
body.sjm-public-booking #btnUserArea{display:none!important;}
body.sjm-public-booking.auth-locked::after{display:none!important;content:""!important;}
.sjmPublicBooking{display:none;min-height:100vh;padding:22px;background:linear-gradient(135deg,#fff7fb,#f7f0ff);}
body.sjm-public-booking .sjmPublicBooking{display:block!important;}
.sjmPublicBookingCard{max-width:760px;margin:18px auto;background:#fff;border:1px solid rgba(15,23,42,.10);border-radius:24px;box-shadow:0 18px 45px rgba(16,24,40,.10);padding:20px;}
.sjmPublicBookingCard h1{margin:0 0 6px;font-size:26px;line-height:1.15;}
.sjmPublicBookingCard p{margin:0 0 16px;color:#667085;font-weight:700;}
.sjmPublicGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.sjmPublicField{display:flex;flex-direction:column;gap:6px;font-weight:900;color:#344054;}
.sjmPublicField input,.sjmPublicField select,.sjmPublicField textarea{width:100%;border:1px solid rgba(15,23,42,.16);border-radius:14px;padding:11px 12px;font:inherit;background:#fff;}
.sjmPublicActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.sjmPublicBtn{border:0;border-radius:999px;padding:12px 16px;font-weight:1000;cursor:pointer;background:linear-gradient(90deg,var(--a,#f72585),var(--p,#7b2cbf));color:#fff;}
.sjmPublicBtn.secondary{background:#fff;color:#344054;border:1px solid rgba(15,23,42,.16);}
.sjmPublicHint{margin-top:12px;padding:12px;border-radius:14px;background:#f9fafb;color:#667085;font-weight:800;}
@media(max-width:720px){.sjmPublicGrid{grid-template-columns:1fr}.sjmPublicBooking{padding:12px}.sjmPublicBookingCard{margin:8px auto;padding:16px}}

.googleBtn{width:100%;margin:10px 0 6px;background:#fff!important;color:#1f2937!important;border:1px solid rgba(17,24,39,.18)!important;box-shadow:0 8px 20px rgba(17,24,39,.08)}
.googleBtn::before{content:"G";display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;margin-right:8px;font-weight:900;color:#4285f4;background:#fff}
.authDivider{display:flex;align-items:center;gap:10px;margin:8px 0 10px;color:#6b7280;font-size:12px}.authDivider:before,.authDivider:after{content:"";height:1px;background:rgba(17,24,39,.14);flex:1}

.sjmPubWide{max-width:860px}
.sjmPubTop{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 14px}
.sjmPubTop strong{font-size:22px;color:#242436;text-align:center}
.sjmPubCalWeek{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:8px 0}
.sjmPubCalWeek b{text-align:center;background:#fde8fb;border-radius:12px;padding:8px 4px;color:#3d2757}
.sjmPubCalGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.sjmPubDay{min-height:72px;border:1px solid rgba(15,23,42,.12);border-radius:14px;background:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:8px;font-weight:900;cursor:pointer;color:#242436}
.sjmPubDay small{font-size:11px;color:#667085;font-weight:800}
.sjmPubDay.free small{color:#079455}
.sjmPubDay.sel{outline:3px solid #d779df;background:#fff0fb}
.sjmPubDay.other{opacity:.35}
.sjmPubDay.past,.sjmPubDay.full{opacity:.45;cursor:not-allowed;background:#f8fafc}
.sjmPubSelected{margin:14px 0;padding:12px;border-radius:14px;background:#f9fafb;color:#344054;font-weight:900}
@media(max-width:720px){.sjmPubDay{min-height:58px;padding:6px}.sjmPubDay small{font-size:9px}.sjmPubTop strong{font-size:18px}.sjmPubCalWeek{gap:4px}.sjmPubCalGrid{gap:4px}}


/* ========================================================================== 
   v111 — Navegação compacta com menu lateral e visibilidade por plano
   ========================================================================== */
.tabs{
  overflow:visible;
  padding:8px 12px;
}
.mainNavShell{
  display:flex;
  align-items:center;
  gap:8px;
  width:100%;
  min-width:0;
}
.fixedTabs{
  display:flex;
  align-items:center;
  gap:8px;
  overflow-x:auto;
  scrollbar-width:thin;
  min-width:0;
  flex:1;
}
.navMenuTrigger{
  flex:0 0 auto;
  min-height:40px;
  border:0;
  border-radius:14px;
  padding:9px 13px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:18px;
  font-weight:1000;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(135deg, #111827, var(--p), var(--a));
  box-shadow:0 7px 18px rgba(91,33,182,.22);
}
.navMenuTrigger__label{font-size:13px;}
.navMenuTrigger{touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;}
.tab--fixed{flex:0 0 auto;}
/* Segurança visual: recurso sem acesso nunca ocupa espaço na barra nem no menu. */
.fixedTabs .tab.locked,
.navSideMenu .tab.locked,
.fixedTabs .tab.devHidden,
.navSideMenu .tab.devHidden{display:none!important;}
.navMenuBackdrop{
  position:fixed;
  inset:0;
  z-index:89;
  background:rgba(17,24,39,.35);
  backdrop-filter:blur(2px);
}
.navSideMenu{
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  width:min(340px, 90vw);
  z-index:90;
  background:#fff;
  border-right:1px solid var(--line);
  box-shadow:18px 0 44px rgba(15,23,42,.18);
  transform:translateX(-104%);
  transition:transform .2s ease;
  overflow-y:auto;
  overscroll-behavior:contain;
}
.navSideMenu.open{transform:translateX(0);}
.navSideMenu__head{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:22px 18px 18px;
  color:#fff;
  background:linear-gradient(135deg, #111827, var(--p), var(--a));
}
.navSideMenu__head strong{display:block;font-size:20px;line-height:1.2;}
.navSideMenu__head small{display:block;margin-top:6px;font-weight:900;opacity:.9;}
.navMenuClose{
  border:0;
  background:rgba(255,255,255,.18);
  color:#fff;
  width:38px;
  height:38px;
  border-radius:12px;
  cursor:pointer;
  font-weight:1000;
}
.navSideMenu__section{padding:16px 14px;border-bottom:1px solid var(--line);}
.navSideMenu__title{
  display:block;
  padding:0 8px 8px;
  color:var(--p);
  font-size:11px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.navSideMenu__section > div{display:grid;gap:5px;}
.tab--menu{
  width:100%;
  border:0;
  border-radius:12px;
  text-align:left;
  padding:11px 12px;
  background:transparent;
  color:var(--txt);
}
.tab--menu:hover{background:var(--soft);}
.tab--menu.active{
  color:#fff;
  background:linear-gradient(90deg, var(--p), var(--a));
}
.navSideMenu__footer{display:grid;gap:7px;padding:14px;}
.navUtilityBtn{
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  padding:11px 12px;
  text-align:left;
  font-weight:1000;
  cursor:pointer;
}
.navUtilityBtn:hover{background:var(--soft);}
.navUtilityBtn--danger{color:#dc2626;}
.navEmpty{display:block;padding:10px 8px;color:var(--muted);line-height:1.4;}
body.auth-locked .navSideMenu,
body.auth-locked .navMenuBackdrop{display:none!important;}

@media (max-width:720px){
  .tabs{padding:7px 8px;}
  .mainNavShell{gap:6px;}
  .navMenuTrigger{padding:8px 11px;min-height:38px;}
  .navMenuTrigger__label{display:none;}
  .fixedTabs{gap:6px;}
  .tab--fixed{padding:8px 11px;font-size:12px;}
  .navSideMenu{width:min(330px, 88vw);}
}


/* ==========================================================================
   v111.2 — Correção final da navegação móvel
   ========================================================================== */
/* Suporte e Usuário permanecem funcionais no menu, mas não ocupam o cabeçalho. */
.topbar__right{display:none!important;}

.tabs{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
.mainNavShell{width:100%;}
.fixedTabs{
  flex:1 1 auto;
  width:100%;
}
.fixedTabs .tab[hidden],
.navSideMenu .tab[hidden],
.fixedTabs .tab.locked,
.navSideMenu .tab.locked{display:none!important;}

@media (max-width:720px){
  .tabs{padding:7px 8px;width:100%;}
  .mainNavShell{width:100%;gap:7px;}
  .navMenuTrigger{
    flex:0 0 58px;
    width:58px;
    height:48px;
    min-height:48px;
    padding:0;
    justify-content:center;
    border-radius:15px;
    font-size:28px;
  }
  .fixedTabs{
    display:flex;
    flex:1 1 auto;
    width:calc(100% - 65px);
    gap:7px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    padding:0 1px 2px;
    scrollbar-width:none;
  }
  .fixedTabs::-webkit-scrollbar{display:none;}
  .fixedTabs .tab--fixed{
    flex:1 0 104px;
    min-width:104px;
    min-height:48px;
    padding:10px 10px;
    font-size:13px;
    text-align:center;
    justify-content:center;
    scroll-snap-align:start;
    white-space:nowrap;
  }
  .navSideMenu{width:min(330px,88vw);}
}


/* Dashboard — Contas a receber (Premium/Desenvolvedor) */
.dashboardReceivablesCard{
  width:min(100%, 360px);
  padding:14px 16px;
  margin-top:14px;
}
.dashboardReceivablesCard[hidden]{display:none!important;}
.dashboardReceivablesCard h3{margin:0 0 8px;font-size:15px;}
.receivablesCompactList{display:grid;gap:0;}
.receivablesCompactList>div{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:27px;
  font-size:14px;
}
.receivablesCompactList span{color:var(--muted);}
.receivablesCompactList b{font-variant-numeric:tabular-nums;white-space:nowrap;}
.receivablesCompactList .receivablesTotal{
  margin-top:5px;
  padding-top:7px;
  border-top:1px solid var(--border);
  font-size:15px;
}
.receivablesCompactList .receivablesTotal span,
.receivablesCompactList .receivablesTotal b{color:var(--text);font-weight:900;}
@media (max-width:720px){
  .dashboardReceivablesCard{width:100%;padding:12px 14px;}
}
.sjmPublicPaymentBox{margin-top:14px;padding:14px;border:1px solid rgba(15,23,42,.12);border-radius:16px;background:#fff8fb;display:grid;gap:8px}
.sjmPublicPaymentBox code{word-break:break-all;font-size:13px}
.sjmPublicCheck{display:flex;gap:8px;align-items:flex-start;font-weight:700}
.sjmPublicPaymentBox small{color:#667085;line-height:1.4}

/* ========================================================================== 
   v119 — Cabeçalho móvel e navegação sem sobrepor os títulos
   O cabeçalho do salão rola normalmente; somente a barra de rotas fica fixa
   no topo quando necessário.
   ========================================================================== */
@media (max-width:768px){
  .topbar{
    position:relative;
    top:auto;
    z-index:50;
  }

  .tabs{
    position:sticky;
    top:0;
    z-index:70;
    margin:0;
  }

  .wrap{
    padding-top:14px;
  }

  .panel__head{
    scroll-margin-top:76px;
  }

  .panel__head h2{
    margin-top:4px;
  }
}


/* Ficha de Anamnese — integrada à base estável */
.anamneseModal{position:fixed;inset:0;z-index:10050;background:rgba(15,10,24,.72);padding:18px;overflow:auto;display:flex;align-items:flex-start;justify-content:center}
.anamneseModal[hidden]{display:none!important}.anamneseModal__card{width:min(900px,100%);background:var(--card-bg,#fff);color:var(--text,#2d2033);border-radius:20px;padding:20px;box-shadow:0 24px 70px rgba(0,0,0,.35);margin:auto}
.anamneseModal__head,.anamneseSignature__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.anamneseModal__head h2{margin:0}.anamneseModal__head p{margin:4px 0 0}
.anamneseGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.anamneseWide{grid-column:1/-1}.anamneseConsent{margin:16px 0;padding:12px;border-radius:12px;background:rgba(123,44,191,.08)}
.anamneseSignature{margin-top:12px}.anamneseSignature canvas{display:block;width:100%;height:180px;background:#fff;border:2px dashed #a78bb8;border-radius:12px;touch-action:none;margin-top:10px}.anamneseActions{margin-top:16px}
.anamneseHistorico{margin-top:16px}.anamneseHistorico__item{padding:10px 0;border-top:1px solid rgba(127,127,127,.22)}
.anamneseBadge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.82rem;background:rgba(27,153,92,.12)}.anamneseBadge.isPending{background:rgba(220,139,20,.14)}
@media(max-width:680px){.anamneseModal{padding:0}.anamneseModal__card{min-height:100dvh;border-radius:0;padding:16px}.anamneseGrid{grid-template-columns:1fr}.anamneseWide{grid-column:auto}.anamneseSignature canvas{height:150px}.anamneseActions .btn{width:100%}}


.authBrandLogo{
  display:block;
  width:min(100%, 520px);
  max-height:170px;
  object-fit:contain;
  margin:0 auto 12px;
  border-radius:14px;
  background:#000;
}
.srOnly{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}


/* Mania de Agendar official light theme */
:root{
 --bg:#FFFFFF;
 --card-bg:#FFFFFF;
 --primary:#8A2BE2;
 --primary-dark:#5B1196;
 --secondary:#F72585;
 --accent:#FF7AA2;
 --text:#1F1F1F;
 --text-light:#5B1196;
 --border:#E7E7EF;
}
header,.topbar,.app-header,.header{
 background:linear-gradient(90deg,#8A2BE2 0%,#F72585 100%)!important;
 color:#fff!important;
}
.card,.panel,.box{
 background:#fff!important;
 border:1px solid #E7E7EF!important;
}
body{background:#fff!important;color:#1F1F1F!important;}
input,select,textarea{background:#fff!important;border:1px solid #DDD!important;}
input:focus,select:focus,textarea:focus{border-color:#8A2BE2!important;box-shadow:0 0 0 3px rgba(138,43,226,.15)!important;}

/* v129 — Marca fixa do app + identidade do profissional e cores dinâmicas */
.topbar,
header.topbar{
  background:linear-gradient(90deg,var(--p,#8A2BE2) 0%,var(--a,#F72585) 100%)!important;
}
.brandText{min-width:0;}
.appBrandLogo{flex:0 0 auto;}
.professionalIdentity{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:5px;
  min-height:20px;
  max-width:min(62vw,520px);
  color:#fff;
  font-size:12px;
  line-height:1.2;
  font-weight:850;
  opacity:.96;
}
.professionalIdentity span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.professionalLogo{
  width:22px;
  height:22px;
  flex:0 0 22px;
  object-fit:cover;
  border-radius:7px;
  background:#fff;
  border:1px solid rgba(255,255,255,.7);
}
.professionalLogo.isHidden{display:none!important;}
.footerDeveloper{display:block;}
@media(max-width:768px){
  .professionalIdentity{max-width:72vw;font-size:11px;margin-top:4px;}
  .professionalLogo{width:20px;height:20px;flex-basis:20px;border-radius:6px;}
}
/* Utilitários de espaçamento centralizados do index.html */
.u-mt-10{margin-top:10px !important;}
.u-mt-12{margin-top:12px !important;}
.u-mt-16{margin-top:16px !important;}
.u-mt-18{margin-top:18px !important;}


/* ================================================================
   TABELAS COMPACTAS — PROCEDIMENTOS E DESPESAS
   Reduz somente os espaços internos e a largura excessiva das colunas.
   ================================================================ */
#tblProc,
#tblDesp{
  min-width:0;
  table-layout:fixed;
}

#tblProc th,
#tblProc td,
#tblDesp th,
#tblDesp td{
  padding:6px;
}

#tblProc input,
#tblProc select,
#tblDesp input,
#tblDesp select{
  min-width:0;
  padding:8px 9px;
}

/* Procedimentos: nome maior; preço, data, duração e ação compactos. */
#tblProc th:nth-child(1),
#tblProc td:nth-child(1){ width:30%; }
#tblProc th:nth-child(2),
#tblProc td:nth-child(2){ width:17%; }
#tblProc th:nth-child(3),
#tblProc td:nth-child(3){ width:20%; }
#tblProc th:nth-child(4),
#tblProc td:nth-child(4){ width:18%; }
#tblProc th:nth-child(5),
#tblProc td:nth-child(5){ width:15%; }

/* Despesas: descrição recebe o espaço principal; demais campos compactos. */
#tblDesp th:nth-child(1),
#tblDesp td:nth-child(1){ width:18%; }
#tblDesp th:nth-child(2),
#tblDesp td:nth-child(2){ width:17%; }
#tblDesp th:nth-child(3),
#tblDesp td:nth-child(3){ width:16%; }
#tblDesp th:nth-child(4),
#tblDesp td:nth-child(4){ width:43%; }
#tblDesp th:nth-child(5),
#tblDesp td:nth-child(5){ width:6%; text-align:center; }

#tblProc td:last-child,
#tblDesp td:last-child{
  white-space:nowrap;
  vertical-align:middle;
}

@media (max-width:760px){
  #tblProc{ min-width:650px; }
  #tblDesp{ min-width:610px; }
}
/* =========================================================
   PIX ANUAL WOOVI — V145
   ========================================================= */

.annualPaymentModal__card {
  max-width: 620px;
}

.annualPaymentMethods {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.annualPaymentMethod {
  min-height: 120px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: var(--card);
  color: var(--text);
  text-align: left;
  cursor: pointer;
  transition:
    transform 0.16s ease,
    border-color 0.16s ease;
}

.annualPaymentMethod:hover {
  transform: translateY(-2px);
  border-color: var(--primary);
}

.annualPaymentMethod strong {
  display: block;
  margin-bottom: 8px;
  font-size: 1rem;
}

.annualPaymentMethod span {
  color: var(--muted);
  line-height: 1.45;
}

.annualPaymentMethod:disabled {
  cursor: wait;
  opacity: 0.65;
}

.annualPixPanel {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 16px;
  text-align: center;
}

.annualPixPanel[hidden] {
  display: none;
}

#annualPixQrCode {
  display: block;
  width: min(240px, 100%);
  margin: 16px auto;
  border-radius: 12px;
  background: #fff;
}

#annualPixCode {
  width: 100%;
  min-height: 100px;
  padding: 12px;
  resize: vertical;
  border-radius: 12px;
}

.annualPixActions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

@media (max-width: 680px) {
  .annualPaymentMethods {
    grid-template-columns: 1fr;
  }
}