*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f6f8f7;color:#0c2a22}.app{display:flex;min-height:100vh}.sidebar{width:260px;background:#fff;border-right:1px solid #e5ece8;padding:26px 20px;display:flex;flex-direction:column;gap:22px;position:fixed;inset:0 auto 0 0}.brand{font-size:25px;color:#065f35;display:flex;align-items:center;gap:12px}.brand-icon{background:#0b7a3d;color:#fff;border-radius:50%;width:36px;height:36px;display:grid;place-items:center}nav{display:flex;flex-direction:column;gap:10px}nav a,.logout{padding:14px 16px;text-decoration:none;color:#143b32;border-radius:12px;font-weight:600}.logout{display:block;margin-top:auto;background:#f3f7f5}nav a:hover,nav a.active{background:linear-gradient(135deg,#0b7a3d,#075a32);color:#fff}.userbox{margin-top:auto;background:#f1f8f4;border-radius:14px;padding:12px;display:flex;align-items:center;gap:12px}.avatar{width:42px;height:42px;border-radius:50%;background:#0b7a3d;color:#fff;display:grid;place-items:center;font-weight:bold}.userbox small{display:block;color:#56716a;margin-top:3px}.main{margin-left:260px;width:calc(100% - 260px);padding:36px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:26px}.topbar h1{margin:0;color:#065f35;font-size:32px}.topbar p{margin:8px 0 0;color:#667b75}.search{background:#fff;border:1px solid #e1e9e5;border-radius:18px;padding:14px 18px;min-width:280px;box-shadow:0 8px 25px rgba(0,0,0,.05)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.card{background:#fff;border:1px solid #e5ece8;border-radius:18px;padding:22px;box-shadow:0 8px 25px rgba(0,0,0,.05)}.metric{display:flex;align-items:center;gap:16px}.metric .ico{width:66px;height:66px;border-radius:20px;background:#dcefe4;color:#08703b;display:grid;place-items:center;font-size:30px}.metric h3{margin:0;font-size:15px;font-weight:600}.metric strong{display:block;font-size:28px;margin-top:8px}.metric small{color:#0b7a3d}.grid{display:grid;grid-template-columns:2fr 1fr;gap:22px}.panel{background:#fff;border:1px solid #e5ece8;border-radius:18px;padding:22px;box-shadow:0 8px 25px rgba(0,0,0,.05)}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.btn{border:0;background:linear-gradient(135deg,#0b7a3d,#065f35);color:#fff;padding:13px 18px;border-radius:12px;font-weight:bold;cursor:pointer;text-decoration:none;display:inline-block}.btn-light{background:#eef7f2;color:#065f35}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field{margin-bottom:12px}.field label{display:block;font-size:14px;margin-bottom:6px;color:#48645d}.field input,.field select,.field textarea{width:100%;padding:13px;border:1px solid #dce6e1;border-radius:10px;background:#fff;font-size:15px}.agenda-list{display:flex;flex-direction:column;gap:12px}.appt{display:grid;grid-template-columns:80px 1fr auto;gap:16px;align-items:center;padding:15px;border:1px solid #e3ebe7;border-radius:14px;background:#fff;border-left:4px solid #0b7a3d}.appt.pendente{border-left-color:#ff9800}.appt.cancelado{border-left-color:#e53935}.badge{padding:7px 12px;border-radius:999px;background:#e2f3e9;color:#0b6b39;font-size:13px}.badge.pendente{background:#fff1db;color:#b96500}.badge.cancelado{background:#ffe6e6;color:#b51616}.table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden}.table th,.table td{padding:14px;border-bottom:1px solid #edf2ef;text-align:left}.table th{background:#f3f8f5;color:#065f35}.notice{padding:15px;border-radius:12px;background:#eef8f3;border:1px solid #d7ecdf;margin-bottom:16px}@media(max-width:950px){.sidebar{position:relative;width:100%;inset:auto}.app{display:block}.main{margin-left:0;width:100%;padding:20px}.cards,.grid{grid-template-columns:1fr}.topbar{display:block}.search{min-width:100%;margin-top:14px}.appt{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}

.cal-head{font-weight:bold;color:#065f35;margin:8px 0 14px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.cal-grid b,.cal-grid span{height:38px;border-radius:10px;display:grid;place-items:center;background:#f4f8f6;color:#48645d}.cal-grid b{background:#e8f3ed;color:#065f35}.cal-grid span.has{background:#dff2e7;color:#075a32;font-weight:bold;border:1px solid #9bd2b2}.cal-grid span.today{background:#065f35;color:#fff}.calendar-card h2{margin-top:0}
.btn-danger{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;box-shadow:none}
.btn-danger:hover{background:#fecaca;color:#7f1d1d}


/* ===== V5 - Acabamento premium: bordas, foco e dados salvos ===== */
.field label{font-weight:600;color:#244b42}
.field input,.field select,.field textarea,.search{
  border:1.5px solid #c6d6ce;
  border-radius:13px;
  background:#ffffff;
  color:#0c2a22;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
}
.field input:hover,.field select:hover,.field textarea:hover,.search:hover{border-color:#9fc2ad;background:#fbfffd}
.field input:focus,.field select:focus,.field textarea:focus,.search:focus{
  border-color:#0b7a3d;
  box-shadow:0 0 0 4px rgba(11,122,61,.12), 0 8px 20px rgba(0,0,0,.04);
  outline:none;
}
.field input::placeholder,.field textarea::placeholder,.search::placeholder{color:#6d817a}
.table tr:not(:first-child){background:#f3fbf6}
.table tr:not(:first-child):hover{background:#e7f7ed}
.table td{border-bottom:1px solid #d8eddf}
.table td:first-child{font-weight:700;color:#064e2e}
.saved-card,.card-paciente,.card-servico{
  background:#edf8f1;
  border:1px solid #d6ecdf;
  border-radius:16px;
  padding:18px;
  box-shadow:0 8px 22px rgba(0,0,0,.04);
}
.saved-card:hover,.card-paciente:hover,.card-servico:hover{background:#e4f5ea}
.btn{box-shadow:0 8px 18px rgba(6,95,53,.16)}
.btn-light{box-shadow:none;border:1px solid #dceee5}
.btn-danger{box-shadow:none}
.form-help{font-size:12px;color:#6a7d76;margin-top:6px;display:block}

/* ===== Login e Cadastro Premium ===== */
.auth-page{min-height:100vh;background:radial-gradient(circle at top left,#dcefe4 0,#f6f8f7 38%,#eef6f2 100%);color:#0c2a22}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(280px,520px) minmax(320px,480px);gap:28px;align-items:center;justify-content:center;padding:34px}.auth-shell-wide{grid-template-columns:minmax(280px,460px) minmax(360px,820px)}.auth-hero{padding:38px;border-radius:28px;background:linear-gradient(135deg,rgba(6,95,53,.96),rgba(11,122,61,.86));color:#fff;box-shadow:0 24px 60px rgba(6,95,53,.22);position:relative;overflow:hidden}.auth-hero:after{content:"";position:absolute;right:-80px;bottom:-80px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.12)}.auth-kicker{display:inline-block;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);padding:8px 12px;border-radius:999px;font-weight:700;font-size:13px;margin-bottom:18px}.auth-hero h1{font-size:40px;line-height:1.05;margin:0 0 16px}.auth-hero p{font-size:17px;line-height:1.55;color:#ecfff4;margin:0 0 20px}.auth-benefits,.step-list{display:flex;flex-direction:column;gap:10px;position:relative;z-index:1}.auth-benefits span,.step-list span{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:12px 14px;font-weight:700}.step-list b{display:inline-grid;place-items:center;background:#fff;color:#065f35;width:26px;height:26px;border-radius:50%;margin-right:8px}.auth-card{border-radius:28px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.10);border:1px solid #dfeae5}.auth-card h2{margin:10px 0 4px;color:#065f35;font-size:28px}.auth-subtitle{color:#667b75;margin:0 0 20px}.auth-logo{width:64px;height:64px;border-radius:22px;background:linear-gradient(135deg,#0b7a3d,#065f35);display:grid;place-items:center;color:#fff;font-weight:900;box-shadow:0 14px 30px rgba(6,95,53,.22)}.password-wrap{position:relative}.password-wrap input{padding-right:52px}.toggle-pass{position:absolute;right:10px;bottom:9px;border:0;background:#eef7f2;color:#065f35;border-radius:10px;width:38px;height:38px;cursor:pointer}.btn-auth{width:100%;margin-top:6px;padding:16px 18px;border-radius:15px;font-size:16px;position:relative;overflow:hidden}.btn-auth:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(6,95,53,.22)}.btn-auth.is-loading{opacity:.85;cursor:wait}.auth-links{text-align:center;margin-top:18px}.auth-links a{color:#065f35;font-weight:800;text-decoration:none}.auth-demo{font-size:12px;color:#7b8f89;text-align:center;margin:18px 0 0}.notice-error{background:#ffecec!important;border-color:#ffd2d2!important;color:#a00!important}.notice-success{background:#eaf8ef!important;border-color:#ccefd8!important;color:#075a32!important}.form-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:10px}.form-title-row h2{margin-top:0}.form-section-title{font-weight:900;color:#065f35;margin:22px 0 12px;padding-top:14px;border-top:1px solid #edf2ef}.cadastro-card .btn-auth{max-width:360px}.cadastro-hero h1{font-size:34px}@media(max-width:980px){.auth-shell,.auth-shell-wide{grid-template-columns:1fr;padding:20px}.auth-hero h1{font-size:32px}.auth-card{padding:22px}.form-title-row{display:block}.form-title-row .btn{margin-top:10px}.cadastro-card .btn-auth{max-width:100%}}@media(max-width:560px){.auth-shell,.auth-shell-wide{padding:12px}.auth-hero{padding:24px;border-radius:22px}.auth-card{border-radius:22px}.auth-hero h1{font-size:28px}}


/* ===== UX/UI v2.1: menu limpo, perfil no topo e calendário por visão ===== */
.side-nav{gap:8px}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#789088;font-weight:900;margin:8px 8px 2px}.nav-group{border:1px solid #e4eee9;border-radius:15px;background:#f8fcfa;overflow:hidden}.nav-group summary{list-style:none;cursor:pointer;padding:14px 16px;color:#143b32;font-weight:900;border-radius:14px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'▾';float:right;color:#6b827a}.nav-group[open] summary:after{content:'▴'}.nav-group a{display:block;margin:4px 8px 8px;padding:12px 14px;background:#fff;border:1px solid #edf3f0}.sidebar-footer{margin-top:auto;background:#f5faf7;border:1px solid #e2eee8;border-radius:16px;padding:14px;color:#36584f}.sidebar-footer small{display:block;color:#71877f;margin-top:4px}.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;background:rgba(255,255,255,.88);border:1px solid #e2eee8;border-radius:22px;padding:14px 16px;box-shadow:0 12px 30px rgba(0,0,0,.04);position:sticky;top:14px;z-index:5;backdrop-filter:blur(8px)}.app-header strong{display:block;color:#064e2e;font-size:18px}.app-header-kicker{display:block;color:#789088;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.profile-menu{position:relative}.profile-menu summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:7px 10px;border-radius:16px;background:#f2faf5;border:1px solid #dceee5}.profile-menu summary::-webkit-details-marker{display:none}.profile-menu summary small{display:block;color:#6d817a;font-size:12px;margin-top:2px}.avatar.small{width:38px;height:38px}.profile-dropdown{position:absolute;right:0;top:calc(100% + 8px);min-width:190px;background:#fff;border:1px solid #e2eee8;border-radius:16px;box-shadow:0 18px 45px rgba(0,0,0,.12);padding:8px;z-index:10}.profile-dropdown a{display:block;padding:12px 14px;border-radius:12px;color:#143b32;text-decoration:none;font-weight:800}.profile-dropdown a:hover{background:#eef8f3;color:#065f35}.main-footer{margin-top:26px;padding:18px 4px;color:#789088;font-size:13px;display:flex;gap:14px;flex-wrap:wrap;justify-content:center;border-top:1px solid #e2eee8}.view-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.view-tabs a{padding:11px 15px;border-radius:999px;text-decoration:none;font-weight:900;color:#065f35;background:#eef8f3;border:1px solid #dceee5}.view-tabs a.active{background:linear-gradient(135deg,#0b7a3d,#065f35);color:#fff;border-color:#065f35}.day-column{display:flex;flex-direction:column;gap:10px}.day-title{font-weight:900;color:#065f35;background:#eef8f3;border:1px solid #dceee5;border-radius:14px;padding:12px 14px}.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.week-day{background:#fbfffd;border:1px solid #e2eee8;border-radius:16px;padding:10px;min-height:180px}.week-day.today{border-color:#0b7a3d;box-shadow:0 0 0 3px rgba(11,122,61,.08)}.week-day h3{margin:0 0 10px;font-size:14px;color:#065f35}.mini-appt{display:block;text-decoration:none;color:#143b32;background:#f1f8f4;border-left:4px solid #0b7a3d;border-radius:12px;padding:9px;margin-bottom:8px;font-size:13px}.mini-appt.pendente{border-left-color:#ff9800}.mini-appt.cancelado{border-left-color:#e53935}.mini-appt b{display:block;color:#0c2a22}.empty-day{color:#93a59e;font-size:13px;padding:8px 0}.calendar-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.calendar-actions .field-inline{display:flex;align-items:center;gap:8px}.calendar-actions input[type=date]{padding:10px 12px;border:1.5px solid #c6d6ce;border-radius:12px;background:#fff}@media(max-width:950px){.app-header{position:relative;top:auto}.week-grid{grid-template-columns:1fr}.sidebar-footer{display:none}.main-footer{justify-content:flex-start}.profile-menu summary span:last-child{display:none}}

/* ===== Agenda produtividade v3 ===== */
.agenda-shell{overflow:auto}.agenda-help{color:#667b75;font-size:13px;margin-top:12px}.smart-month .month-cell{height:104px;align-items:flex-start;justify-items:stretch;padding:9px;gap:4px;cursor:pointer;position:relative;text-align:left}.smart-month .month-cell strong{display:block;color:inherit}.smart-month .month-cell small{display:block;font-size:11px;color:#0b6b39;margin:3px 0;font-weight:800}.smart-month .month-cell em{display:block;font-style:normal;font-size:11px;background:rgba(255,255,255,.75);border-radius:7px;padding:3px 5px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.smart-month .blank{background:transparent!important}.time-grid{display:grid;min-width:920px;border:1px solid #e2eee8;border-radius:18px;overflow:hidden;background:#fff}.week-time-grid{grid-template-columns:76px repeat(7,minmax(118px,1fr))}.day-time-grid{grid-template-columns:76px minmax(420px,1fr);margin-top:12px}.time-corner,.time-day-title,.time-label,.time-slot{border-bottom:1px solid #edf3f0;border-right:1px solid #edf3f0}.time-day-title{padding:12px 10px;background:#eef8f3;color:#065f35;font-weight:900;text-align:center}.time-day-title small{display:block;color:#6d817a;margin-top:4px;font-weight:700}.time-day-title.today{background:#dff2e7}.time-label{padding:12px 8px;background:#f8fcfa;color:#6d817a;font-size:12px;font-weight:900;text-align:center}.time-slot{min-height:72px;padding:6px;position:relative;background:#fff}.time-slot:hover{background:#fbfffd;box-shadow:inset 0 0 0 2px rgba(11,122,61,.08)}.time-slot.now-slot:before{content:'AGORA';position:absolute;left:0;right:0;top:0;height:3px;background:#e53935;color:#e53935;font-size:0;z-index:1}.agenda-card{border-radius:13px;padding:9px;background:#f1f8f4;border:1px solid #dceee5;border-left:5px solid #0b7a3d;box-shadow:0 8px 18px rgba(0,0,0,.04);cursor:grab;margin-bottom:5px}.agenda-card:active{cursor:grabbing}.agenda-card.status-pendente{border-left-color:#ffb020;background:#fff8e8}.agenda-card.status-cancelado,.agenda-card.status-no-show{border-left-color:#e53935;background:#fff0f0}.agenda-card.status-bloqueio{border-left-color:#8b949e;background:#f2f4f5}.agenda-card.status-atendimento{border-left-color:#1976d2;background:#eef6ff}.agenda-card.status-finalizado{border-left-color:#59636e;background:#f7f8f9}.agenda-card .card-main strong{display:block;color:#0c2a22;font-size:13px}.agenda-card .card-main small{display:block;color:#60756e;font-size:11px;margin-top:2px}.status-pill{display:inline-block;margin-top:6px;padding:4px 7px;border-radius:999px;font-size:10px;font-weight:900;background:#e2f3e9;color:#0b6b39}.status-pill.pendente{background:#fff1db;color:#b96500}.status-pill.cancelado,.status-pill.no-show{background:#ffe6e6;color:#b51616}.status-pill.bloqueio{background:#e5e7eb;color:#4b5563}.status-pill.atendimento{background:#e3f2fd;color:#0d47a1}.status-pill.finalizado{background:#eceff1;color:#37474f}.quick-actions{display:flex;gap:5px;margin-top:7px}.quick-actions a{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;text-decoration:none;background:#fff;border:1px solid #dceee5;font-size:12px}.slot-actions{display:none;position:absolute;right:5px;bottom:5px;gap:4px}.time-slot:hover .slot-actions{display:flex}.slot-actions a{font-size:11px;text-decoration:none;padding:4px 6px;border-radius:8px;background:#eef8f3;color:#065f35;font-weight:900}.mobile-fab{z-index:20}.drag-over{background:#e8f7ee!important;box-shadow:inset 0 0 0 2px #0b7a3d!important}@media(max-width:720px){.agenda-shell{padding:12px}.calendar-actions,.calendar-actions .field-inline{display:block}.calendar-actions .field-inline input,.calendar-actions .field-inline select,.calendar-actions .field-inline button{width:100%;margin:6px 0}.time-grid{min-width:760px}.mobile-fab{position:fixed!important;right:18px;bottom:18px;border-radius:999px;padding:16px 18px;box-shadow:0 16px 35px rgba(6,95,53,.30)!important}.smart-month .month-cell{height:82px;padding:6px}.smart-month .month-cell em{display:none}}

/* ===== Pacientes inteligência v4 ===== */
.patient-metrics.cards{grid-template-columns:repeat(4,1fr)}
.patient-filter-panel{margin-bottom:18px}.patient-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto auto;gap:10px;align-items:center}.patient-filters select{padding:13px;border:1.5px solid #c6d6ce;border-radius:13px;background:#fff;color:#0c2a22;font-weight:700}.table-wrap{overflow:auto}.smart-patient-table{min-width:1120px}.smart-patient-table td small{display:block;color:#6d817a;margin-top:3px;font-weight:600}.patient-name-link{font-weight:900;color:#064e2e;text-decoration:none}.patient-name-link:hover{text-decoration:underline}.masked-data{font-weight:800;color:#153f35}.activity-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:7px;background:#0b7a3d;vertical-align:middle;box-shadow:0 0 0 4px rgba(11,122,61,.10)}.activity-dot.risco{background:#ffb020;box-shadow:0 0 0 4px rgba(255,176,32,.12)}.activity-dot.inativo{background:#e53935;box-shadow:0 0 0 4px rgba(229,57,53,.12)}.tag-chip{display:inline-block;margin:3px 4px 3px 0;padding:6px 9px;border-radius:999px;background:#eef8f3;border:1px solid #d8ecdf;color:#065f35;text-decoration:none;font-size:12px;font-weight:900}.tag-chip:hover{background:#dff2e7}.actions-cell{white-space:nowrap}.quick-ico{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:10px;background:#eef8f3;border:1px solid #dceee5;text-decoration:none;color:#065f35;font-weight:900;margin-right:4px}.quick-ico:hover{background:#0b7a3d;color:#fff}.patient-profile-grid{display:grid;grid-template-columns:360px 1fr;gap:20px;margin-bottom:20px}.patient-main-card{text-align:left}.patient-avatar-big{width:82px;height:82px;border-radius:28px;background:linear-gradient(135deg,#0b7a3d,#065f35);color:#fff;display:grid;place-items:center;font-size:34px;font-weight:900;box-shadow:0 14px 30px rgba(6,95,53,.18);margin-bottom:14px}.patient-main-card h2{margin:0 0 12px;color:#064e2e}.patient-main-card p{margin:8px 0;color:#36584f}.tag-row{margin:14px 0}.profile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.clinical-note{background:#f8fcfa;border:1px solid #e2eee8;border-radius:14px;padding:16px;color:#36584f;min-height:130px}.timeline-panel{margin-top:0}.timeline{position:relative;margin-left:8px}.timeline:before{content:'';position:absolute;left:14px;top:4px;bottom:4px;width:3px;background:#dceee5;border-radius:99px}.timeline-item{position:relative;display:grid;grid-template-columns:34px 1fr;gap:10px;margin-bottom:14px}.timeline-dot{width:18px;height:18px;border-radius:50%;background:#0b7a3d;margin-top:9px;z-index:1;box-shadow:0 0 0 5px #e2f3e9}.timeline-content{background:#fbfffd;border:1px solid #e2eee8;border-radius:15px;padding:14px}.timeline-content strong{color:#064e2e}.timeline-content p{margin:5px 0;color:#48645d}.timeline-content small{display:block;color:#667b75}.timeline-item.status-pendente .timeline-dot{background:#ffb020;box-shadow:0 0 0 5px #fff1db}.timeline-item.status-cancelado .timeline-dot,.timeline-item.status-no-show .timeline-dot{background:#e53935;box-shadow:0 0 0 5px #ffe6e6}
@media(max-width:1100px){.patient-filters{grid-template-columns:1fr 1fr}.patient-filters .search{grid-column:1/-1}.patient-metrics.cards{grid-template-columns:repeat(2,1fr)}.patient-profile-grid{grid-template-columns:1fr}}
@media(max-width:650px){.patient-filters{grid-template-columns:1fr}.patient-metrics.cards{grid-template-columns:1fr}.pacientes-topbar .btn{display:block;margin-top:8px;text-align:center}.smart-patient-table{min-width:980px}.profile-actions .btn{width:100%;text-align:center}}

/* ===== V6 - Novo Agendamento Inteligente ===== */
.smart-schedule-panel{max-width:1180px}.schedule-quick-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#edf8f1;border:1px solid #d8ecdf;border-radius:18px;padding:16px 18px;margin-bottom:18px}.schedule-quick-summary strong{display:block;color:#064e2e;font-size:18px}.schedule-quick-summary small{display:block;color:#55746b;margin-top:4px}.schedule-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.schedule-card-block{background:#fbfffd;border:1px solid #e1eee7;border-radius:18px;padding:18px;box-shadow:0 8px 22px rgba(0,0,0,.035)}.schedule-card-block h3{margin:0 0 14px;color:#065f35}.slot-suggestion{background:#f3f8f5;border:1px dashed #badac7;color:#46665d;border-radius:13px;padding:11px 13px;margin:-3px 0 12px;font-size:13px;font-weight:700}.slot-suggestion.danger{background:#fff0f0;border-color:#ffc9c9;color:#9b1c1c}.slot-suggestion.ok{background:#edf8f1;border-color:#bde5ca;color:#075a32}.quick-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.quick-tags button{border:1px solid #d8ecdf;background:#eef8f3;color:#065f35;font-weight:800;border-radius:999px;padding:9px 12px;cursor:pointer}.quick-tags button:hover{background:#0b7a3d;color:#fff}.schedule-bottom{margin-top:18px}.recurrence-row{align-items:end;margin-top:12px}.checkline{display:flex;align-items:center;gap:9px;background:#f4faf7;border:1px solid #e1eee7;border-radius:13px;padding:13px;font-weight:800;color:#244b42}.checkline input{width:auto}.schedule-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}.btn-primary-strong{font-size:16px;padding:15px 22px;background:linear-gradient(135deg,#0b7a3d,#034d2a);box-shadow:0 14px 30px rgba(6,95,53,.24)}.predictive-input{margin-bottom:8px}.modal-bg{display:none;position:fixed;z-index:9999;inset:0;background:rgba(6,29,21,.45);backdrop-filter:blur(5px);padding:20px;align-items:center;justify-content:center}.modal-bg.open{display:flex}.modal-card{background:#fff;border-radius:24px;border:1px solid #dfeae5;box-shadow:0 30px 80px rgba(0,0,0,.22);padding:26px;max-width:480px;width:100%;position:relative}.modal-card h2{margin:0 0 6px;color:#065f35}.modal-card p{margin:0 0 16px;color:#667b75}.modal-close{position:absolute;top:12px;right:12px;border:0;background:#eef7f2;color:#065f35;width:36px;height:36px;border-radius:50%;font-size:24px;cursor:pointer}.confirm-pop{position:fixed;right:22px;bottom:22px;background:#fff;border:1px solid #dbe9e2;border-radius:20px;box-shadow:0 22px 60px rgba(0,0,0,.18);padding:18px;z-index:9998;max-width:360px}.confirm-pop strong{display:block;color:#064e2e;font-size:17px;margin-bottom:6px}.confirm-pop p{margin:0 0 12px;color:#55746b}.confirm-pop .pop-actions{display:flex;gap:8px;flex-wrap:wrap}.confirm-pop .close-pop{background:#f3f7f5;color:#36584f}.field select option[disabled]{color:#aaa}.shake{animation:shake .25s linear 2}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(max-width:900px){.schedule-grid-2{grid-template-columns:1fr}.schedule-quick-summary{display:block}.schedule-quick-summary .btn{margin-top:12px}.schedule-actions .btn{width:100%;text-align:center}.confirm-pop{left:14px;right:14px;bottom:14px;max-width:none}}

/* ===== V7 - Arquitetura do Menu por Fluxo de Trabalho ===== */
.brand-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.brand{color:#065f35;text-decoration:none}.sidebar-toggle{width:38px;height:38px;border:1px solid #dceee5;background:#eef8f3;color:#065f35;border-radius:12px;cursor:pointer;font-weight:900}.side-nav{gap:7px}.nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:#789088;font-weight:900;margin:10px 6px 4px}.side-nav a{display:flex;align-items:center;gap:10px}.side-nav a span,.nav-group summary span{width:24px;display:inline-grid;place-items:center}.side-nav a b,.nav-group summary b{font-weight:800}.nav-group{border:1px solid #edf3f0;border-radius:14px;background:#fbfffd;overflow:hidden}.nav-group summary{list-style:none;cursor:pointer;padding:14px 16px;color:#143b32;font-weight:800;display:flex;align-items:center;gap:10px}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:after{content:'⌄';margin-left:auto;color:#6d817a}.nav-group[open] summary:after{content:'⌃'}.nav-group a{margin:0 8px 8px;padding:11px 12px;background:#f6fbf8;font-size:14px}.nav-group a.active{background:linear-gradient(135deg,#0b7a3d,#075a32);color:#fff}.app.sidebar-collapsed .sidebar{width:86px;padding:22px 14px}.app.sidebar-collapsed .main{margin-left:86px;width:calc(100% - 86px)}.app.sidebar-collapsed .brand strong,.app.sidebar-collapsed .nav-label,.app.sidebar-collapsed .side-nav a b,.app.sidebar-collapsed .nav-group summary b,.app.sidebar-collapsed .sidebar-footer,.app.sidebar-collapsed .nav-group a{display:none}.app.sidebar-collapsed .brand-icon{width:42px;height:42px}.app.sidebar-collapsed .side-nav a,.app.sidebar-collapsed .nav-group summary{justify-content:center;padding:14px 10px}.app.sidebar-collapsed .side-nav a span,.app.sidebar-collapsed .nav-group summary span{width:auto}.app.sidebar-collapsed .nav-group{border:0;background:transparent}.app.sidebar-collapsed .nav-group summary:after{display:none}.settings-cards{grid-template-columns:repeat(4,1fr)}.settings-card{text-decoration:none;color:#0c2a22;display:block}.settings-card strong{display:block;color:#065f35;font-size:18px;margin-bottom:8px}.settings-card small{color:#667b75;line-height:1.45}.settings-card:hover{transform:translateY(-2px);background:#edf8f1}.main-footer{display:flex;gap:16px;flex-wrap:wrap;color:#70857e;font-size:13px;margin-top:28px;padding:18px 4px}.app-header{margin-bottom:22px}
@media(max-width:950px){.brand-row{justify-content:flex-start}.sidebar-toggle{display:none}.settings-cards{grid-template-columns:1fr}.app.sidebar-collapsed .sidebar{width:100%;padding:26px 20px}.app.sidebar-collapsed .main{margin-left:0;width:100%}.app.sidebar-collapsed .brand strong,.app.sidebar-collapsed .nav-label,.app.sidebar-collapsed .side-nav a b,.app.sidebar-collapsed .nav-group summary b,.app.sidebar-collapsed .sidebar-footer,.app.sidebar-collapsed .nav-group a{display:initial}.app.sidebar-collapsed .side-nav a{justify-content:flex-start}.app.sidebar-collapsed .nav-group summary{justify-content:flex-start}}

/* ===== V8 - Dashboard Admin Centro de Comando ===== */
.admin-command-top{align-items:flex-start}.quick-actions-top{display:flex;gap:10px;flex-wrap:wrap}.compact-panel{padding:14px 16px;margin-bottom:18px}.admin-filter-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.admin-filter-row select{padding:12px 13px;border:1.5px solid #c6d6ce;border-radius:13px;background:#fff;color:#244b42;font-weight:800}.filter-pill{padding:11px 14px;border-radius:999px;background:#f2faf6;border:1px solid #dceee5;color:#065f35;text-decoration:none;font-weight:900}.filter-pill.active,.filter-pill:hover{background:#0b7a3d;color:#fff}.alert-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.alert-card{display:block;text-decoration:none;background:#fff;border:1px solid #e5ece8;border-radius:18px;padding:18px;box-shadow:0 8px 25px rgba(0,0,0,.045);border-left:5px solid #0b7a3d}.alert-card strong{display:block;font-size:28px;color:#064e2e}.alert-card span{display:block;color:#55746b;font-weight:800;margin-top:4px}.alert-card.warning{border-left-color:#ffb020}.alert-card.danger{border-left-color:#e53935}.alert-card.ok{border-left-color:#0b7a3d}.admin-command-cards{grid-template-columns:repeat(4,1fr)}.command-card{min-height:190px;display:flex;flex-direction:column}.command-head{display:flex;align-items:center;gap:10px}.command-head span{width:42px;height:42px;border-radius:14px;background:#e1f3e9;color:#065f35;display:grid;place-items:center;font-size:20px}.command-card h3{margin:0;color:#064e2e}.command-card strong{font-size:32px;margin:14px 0 4px;color:#0c2a22}.command-card small{display:block;color:#607970;line-height:1.4}.command-card a{margin-top:auto;color:#065f35;font-weight:900;text-decoration:none}.admin-command-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:20px}.exception-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.exception-box{background:#fbfffd;border:1px solid #e2eee8;border-radius:16px;padding:15px}.exception-box h3{margin:0 0 10px;color:#065f35}.muted{color:#70857e}.mini-action{background:#fff;border:1px solid #e7f0ec;border-radius:14px;padding:12px;margin-bottom:10px}.mini-action b{display:block;color:#0c2a22}.mini-action small{display:block;color:#667b75;margin:4px 0 9px}.mini-action a{display:inline-block;text-decoration:none;background:#e8f6ee;color:#065f35;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:900}.system-alert-panel hr{border:0;border-top:1px solid #e6efea;margin:18px 0}.system-alert{padding:12px;border-radius:13px;margin-bottom:10px;font-weight:800}.system-alert.ok{background:#edf8f1;color:#065f35}.system-alert.warning{background:#fff7e6;color:#9a5a00}.source-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eef4f1;overflow:hidden}.source-row span,.source-row b{position:relative;z-index:1}.source-row i{position:absolute;left:0;bottom:0;height:4px;background:#0b7a3d;border-radius:99px;opacity:.55}.bottom-grid{grid-template-columns:1fr 1.4fr}.occupancy-list{display:flex;flex-direction:column;gap:13px}.occupancy-row{display:grid;grid-template-columns:1.3fr 1fr 52px;gap:12px;align-items:center;background:#fbfffd;border:1px solid #e6f0eb;border-radius:15px;padding:13px}.occupancy-row strong{display:block;color:#064e2e}.occupancy-row small{display:block;color:#667b75;margin-top:4px}.bar{height:12px;background:#edf4f1;border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:linear-gradient(135deg,#0b7a3d,#065f35);border-radius:999px}.intervention-table .table-wrap{max-height:440px;overflow:auto}.smart-admin-table td small{display:block;color:#667b75;margin-top:3px}.bulk-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.btn-danger{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fecaca!important}.badge.no-show{background:#ffe6e6;color:#b51616}
@media(max-width:1150px){.alert-strip,.admin-command-cards{grid-template-columns:repeat(2,1fr)}.admin-command-grid,.bottom-grid{grid-template-columns:1fr}.exception-columns{grid-template-columns:1fr}}
@media(max-width:650px){.alert-strip,.admin-command-cards{grid-template-columns:1fr}.admin-filter-row select,.admin-filter-row .btn,.filter-pill,.quick-actions-top .btn{width:100%;text-align:center}.occupancy-row{grid-template-columns:1fr}.smart-admin-table{min-width:760px}}

/* ===== V10: menu premium com fundo verde claro (admin + profissional) ===== */
.sidebar{
  background:
    radial-gradient(circle at 18% 8%, rgba(255,255,255,.95) 0 0, rgba(255,255,255,.55) 18%, transparent 36%),
    linear-gradient(180deg,#f2fbf6 0%,#e9f7ef 45%,#f8fffb 100%) !important;
  border-right:1px solid rgba(11,122,61,.13) !important;
  box-shadow:18px 0 45px rgba(8,80,43,.08), inset -1px 0 0 rgba(255,255,255,.72);
}
.sidebar:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,0) 45%);
}
.sidebar > *{position:relative;z-index:1}
.brand-icon{
  box-shadow:0 12px 28px rgba(11,122,61,.22), inset 0 1px 0 rgba(255,255,255,.35);
}
.sidebar-toggle{
  background:rgba(255,255,255,.62) !important;
  border-color:rgba(11,122,61,.13) !important;
  box-shadow:0 8px 22px rgba(8,80,43,.08);
}
.nav-label{
  color:#6f8d83 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.75);
}
.side-nav a,
.nav-group summary{
  transition:all .18s ease;
  border:1px solid transparent;
}
.side-nav a:not(.active):hover,
.nav-group summary:hover,
.nav-group a:not(.active):hover{
  background:rgba(255,255,255,.68) !important;
  border-color:rgba(11,122,61,.10);
  box-shadow:0 10px 24px rgba(8,80,43,.08);
  transform:translateX(2px);
}
.side-nav a.active,
.nav-group a.active{
  background:linear-gradient(135deg,#08733f 0%,#066236 55%,#044b2b 100%) !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(6,95,53,.24), inset 0 1px 0 rgba(255,255,255,.20);
  position:relative;
  overflow:hidden;
}
.side-nav a.active:after,
.nav-group a.active:after{
  content:"";
  position:absolute;
  inset:-40% auto auto -20%;
  width:90px;
  height:90px;
  background:radial-gradient(circle,rgba(255,255,255,.34),rgba(255,255,255,0) 62%);
}
.nav-group{
  background:rgba(255,255,255,.42) !important;
  border-color:rgba(11,122,61,.11) !important;
  box-shadow:0 8px 22px rgba(8,80,43,.055);
  backdrop-filter:blur(8px);
}
.nav-group a{
  background:rgba(255,255,255,.55) !important;
}
.sidebar-footer{
  background:rgba(255,255,255,.58) !important;
  border-color:rgba(11,122,61,.12) !important;
  box-shadow:0 10px 24px rgba(8,80,43,.07);
}
.app.sidebar-collapsed .sidebar{
  background:linear-gradient(180deg,#f1fbf6,#e7f6ee,#fbfffd) !important;
}
@media(max-width:950px){
  .sidebar{
    box-shadow:0 14px 34px rgba(8,80,43,.08);
    border-right:0 !important;
    border-bottom:1px solid rgba(11,122,61,.12) !important;
  }
}

/* ===== V11: correção de contraste no hover do menu premium ===== */
.side-nav a:not(.active):hover,
.nav-group summary:hover,
.nav-group a:not(.active):hover{
  background:linear-gradient(135deg, rgba(222,246,233,.96), rgba(244,253,248,.96)) !important;
  color:#064e2e !important;
  border-color:rgba(11,122,61,.18) !important;
  box-shadow:0 10px 24px rgba(8,80,43,.10), inset 0 1px 0 rgba(255,255,255,.75) !important;
  transform:translateX(2px);
}
.side-nav a:not(.active):hover b,
.side-nav a:not(.active):hover span,
.nav-group summary:hover b,
.nav-group summary:hover span,
.nav-group summary:hover:after,
.nav-group a:not(.active):hover b,
.nav-group a:not(.active):hover span{
  color:#064e2e !important;
  opacity:1 !important;
  text-shadow:none !important;
}
.side-nav a:not(.active),
.nav-group a:not(.active),
.nav-group summary{
  color:#143b32 !important;
}
.side-nav a.active b,
.side-nav a.active span,
.nav-group a.active b,
.nav-group a.active span{
  color:#fff !important;
  position:relative;
  z-index:2;
}
.nav-group a.active:after,
.side-nav a.active:after{
  pointer-events:none;
}

/* Login de confiança - v12 */
.auth-shell-trust{grid-template-columns:minmax(320px,600px) minmax(330px,450px);gap:34px}.auth-hero-trust{background:linear-gradient(145deg,#055b34 0%,#078047 52%,#0fa260 100%);box-shadow:0 30px 80px rgba(6,95,53,.28)}.auth-hero-trust h1{font-size:42px;line-height:1.04;letter-spacing:-1.2px}.trust-statement{position:relative;z-index:1;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:18px;margin:20px 0}.trust-statement strong{display:block;font-size:18px;margin-bottom:5px}.trust-statement span{color:#eafff3}.trust-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.trust-grid span{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:12px;font-weight:800;color:#fff}.testimonial-box{position:relative;z-index:1;margin-top:18px;padding:18px;border-radius:18px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.16);font-weight:700;line-height:1.45}.testimonial-box small{display:block;margin-top:8px;color:#dfffee;font-weight:700}.auth-card-trust{background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}.password-wrap-link label{display:flex;align-items:center;justify-content:space-between;gap:10px}.password-wrap-link label a{font-size:12px;color:#0b7a3d;text-decoration:none;font-weight:900}.password-wrap-link label a:hover{text-decoration:underline}.remember-row{display:flex;align-items:flex-start;gap:9px;margin:0 0 12px;color:#47635a;font-size:13px;font-weight:700;line-height:1.3}.remember-row input{margin-top:2px;accent-color:#087a43}.btn-auth-secondary{width:100%;margin-top:10px;padding:14px 18px;border-radius:15px;background:#fff!important;color:#065f35!important;border:1px solid #bfe3d0!important;box-shadow:0 10px 24px rgba(6,95,53,.08);display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:900}.btn-auth-secondary:hover{background:#eefaf4!important;transform:translateY(-1px)}.secure-note{margin-top:14px;text-align:center;font-size:12px;color:#607970;font-weight:700}.notice-error a{color:#075a32;font-weight:900}.recover-shell{grid-template-columns:minmax(280px,520px) minmax(330px,450px)}.password-strength{height:7px;border-radius:999px;background:#e8f0ec;margin-top:8px;overflow:hidden}.password-strength span{display:block;height:100%;width:0;border-radius:999px;transition:.25s}.password-strength span.weak{background:#dc2626}.password-strength span.medium{background:#f59e0b}.password-strength span.strong{background:#078047}.strength-text{display:block;margin-top:6px;color:#62766f;font-weight:700;font-size:12px}@media(max-width:980px){.auth-shell-trust,.recover-shell{grid-template-columns:1fr}.trust-grid{grid-template-columns:1fr}.auth-hero-trust h1{font-size:32px}}

/* ===== V14: Onboarding premium - acabamento visual e etapas reais ===== */
.onboarding-page{
  min-height:100vh;
  background:
    radial-gradient(circle at 12% 18%, rgba(25,146,83,.14), transparent 32%),
    radial-gradient(circle at 88% 78%, rgba(7,122,67,.10), transparent 30%),
    linear-gradient(135deg,#eef9f3 0%,#f7fffb 48%,#edf7f1 100%) !important;
  color:#123b31;
}
.onboarding-shell{
  width:min(1120px,94vw);
  min-height:calc(100vh - 48px);
  margin:24px auto;
  display:grid;
  grid-template-columns:minmax(330px,420px) minmax(520px,720px);
  gap:28px;
  align-items:center;
}
.onboarding-hero{
  position:relative;
  overflow:hidden;
  min-height:390px;
  border-radius:26px;
  padding:34px;
  background:linear-gradient(145deg,#05713d 0%,#09864b 54%,#2ca66c 100%) !important;
  color:#fff;
  box-shadow:0 28px 70px rgba(6,95,53,.25);
}
.onboarding-hero:before{
  content:"";
  position:absolute;
  inset:-90px -130px auto auto;
  width:260px;
  height:260px;
  border-radius:50%;
  background:rgba(255,255,255,.12);
}
.onboarding-hero:after{
  content:"";
  position:absolute;
  right:-52px;
  bottom:-55px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:rgba(255,255,255,.13);
}
.onboarding-hero > *{position:relative;z-index:1}
.onboarding-hero .auth-kicker{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.14);
  color:#fff;
  border-radius:999px;
  padding:8px 13px;
  font-size:12px;
  font-weight:900;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}
.onboarding-hero h1{
  margin:22px 0 12px;
  font-size:33px;
  line-height:1.06;
  letter-spacing:-.8px;
  color:#fff;
}
.onboarding-hero p{
  margin:0;
  color:#eafff4;
  line-height:1.58;
  font-size:15px;
}
.onboarding-proof{
  margin:20px 0 14px;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(0,0,0,.13);
  border:1px solid rgba(255,255,255,.17);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.onboarding-proof strong{display:block;color:#fff;font-size:15px;line-height:1.25;margin-bottom:5px}
.onboarding-proof span{display:block;color:#ddffed;font-size:13px;font-weight:700}
.onboarding-trust{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}
.onboarding-trust span{
  min-height:48px;
  display:flex;
  align-items:center;
  padding:11px 13px;
  border-radius:13px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  font-weight:900;
  line-height:1.2;
}
.onboarding-card{
  position:relative;
  overflow:visible;
  border-radius:24px !important;
  border:1px solid rgba(11,122,61,.11) !important;
  background:rgba(255,255,255,.94) !important;
  box-shadow:0 25px 70px rgba(11,82,49,.12), inset 0 1px 0 rgba(255,255,255,.85) !important;
  backdrop-filter:blur(12px);
  padding:24px !important;
}
.onboarding-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.onboarding-title-row h2{
  margin:0;
  color:#066236;
  font-size:25px;
  letter-spacing:-.45px;
}
.onboarding-title-row .auth-subtitle{margin:4px 0 0;color:#607a70;font-size:14px}
.onboarding-title-row .btn-light{
  white-space:nowrap;
  background:#eefaf4 !important;
  border:1px solid #d5eee1 !important;
  color:#075a32 !important;
  border-radius:12px !important;
  padding:11px 16px !important;
  font-weight:900;
  text-decoration:none;
}
.progress-wrap{
  margin:10px 0 22px;
  position:relative;
}
.progress-line{
  position:absolute;
  left:26px;
  right:26px;
  top:20px;
  height:5px;
  border-radius:999px;
  background:#e3f2ea;
  overflow:hidden;
}
.progress-line span{
  display:block;
  height:100%;
  width:33%;
  border-radius:999px;
  background:linear-gradient(90deg,#087a43,#1db36d);
  transition:width .28s ease;
}
.progress-steps{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.progress-step{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  text-align:center;
  color:#718a80;
  font-weight:900;
  cursor:pointer;
}
.progress-step b{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#eef6f2;
  border:1px solid #d9ebe3;
  color:#6b8178;
  box-shadow:0 8px 18px rgba(8,80,43,.06);
  transition:.2s ease;
}
.progress-step span{
  display:block;
  margin-top:7px;
  font-size:12px;
  color:inherit;
}
.progress-step.active b,
.progress-step.done b{
  background:linear-gradient(135deg,#087a43,#055f35);
  color:#fff;
  border-color:transparent;
  box-shadow:0 12px 24px rgba(6,95,53,.18);
}
.progress-step.active span,
.progress-step.done span{color:#075a32}
.signup-step{
  display:none;
  animation:onboardFade .22s ease;
}
.signup-step.active{display:block}
@keyframes onboardFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.step-heading{
  margin-bottom:16px;
  padding:14px 16px;
  border-radius:18px;
  background:linear-gradient(135deg,#f1fbf6,#ffffff);
  border:1px solid #e1f0e8;
}
.step-heading span{
  display:inline-flex;
  margin-bottom:7px;
  color:#087a43;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.45px;
}
.step-heading h3{margin:0 0 5px;color:#123b31;font-size:18px}
.step-heading p{margin:0;color:#5c756b;font-size:14px;line-height:1.45}
.onboarding-card .form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:14px;
}
.onboarding-card .field{margin-bottom:14px;position:relative}
.onboarding-card label{
  display:block;
  margin-bottom:7px;
  color:#173f35;
  font-size:13px;
  font-weight:900;
}
.onboarding-card input,
.onboarding-card textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #cfe3da;
  border-radius:14px;
  background:#fbfffd;
  color:#123b31;
  outline:none;
  padding:13px 14px;
  font-size:14px;
  transition:border .18s ease, box-shadow .18s ease, background .18s ease;
}
.onboarding-card textarea{min-height:105px;resize:vertical;line-height:1.5}
.onboarding-card input:focus,
.onboarding-card textarea:focus{
  border-color:#0b7a3d;
  background:#fff;
  box-shadow:0 0 0 4px rgba(11,122,61,.10),0 10px 20px rgba(8,80,43,.06);
}
.password-wrap input{padding-right:54px}
.toggle-pass{
  position:absolute;
  right:9px;
  top:33px;
  width:39px;
  height:39px;
  border:0;
  border-radius:12px;
  background:#eaf5ef;
  color:#075a32;
  cursor:pointer;
  box-shadow:0 6px 14px rgba(8,80,43,.07);
}
.live-msg,.form-help,.strength-text{
  display:block;
  margin-top:7px;
  color:#667d73;
  font-size:12px;
  font-weight:700;
}
.live-msg.ok,.strength-text.ok{color:#078047}
.live-msg.bad,.strength-text.bad{color:#b42318}
.password-strength{
  height:7px;
  border-radius:999px;
  background:#e8f0ec;
  margin-top:8px;
  overflow:hidden;
}
.password-strength span{display:block;height:100%;width:0;border-radius:999px;transition:.25s ease}
.password-strength span.weak{background:#dc2626}
.password-strength span.medium{background:#f59e0b}
.password-strength span.strong{background:#078047}
.terms-note{
  margin:4px 0 16px;
  padding:12px 14px;
  border-radius:15px;
  background:#f5fbf8;
  border:1px solid #dcefe6;
  color:#385a4e;
  font-size:13px;
  line-height:1.45;
  font-weight:700;
}
.onboarding-card .btn-auth{
  width:100%;
  min-height:48px;
  border:0 !important;
  border-radius:15px !important;
  background:linear-gradient(135deg,#098047,#066236) !important;
  color:#fff !important;
  font-size:14px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 15px 30px rgba(6,95,53,.22), inset 0 1px 0 rgba(255,255,255,.22);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.onboarding-card .btn-auth:hover{
  transform:translateY(-1px);
  filter:saturate(1.05);
  box-shadow:0 18px 34px rgba(6,95,53,.27), inset 0 1px 0 rgba(255,255,255,.25);
}
.onboarding-card .btn-light{
  border:1px solid #d5eee1 !important;
  background:#f2fbf6 !important;
  color:#075a32 !important;
  border-radius:14px !important;
  padding:13px 16px !important;
  font-weight:900;
  cursor:pointer;
  text-decoration:none;
}
.step-actions{display:grid;grid-template-columns:120px 1fr;gap:10px;margin-top:8px}
.chip-row{display:flex;flex-wrap:wrap;gap:9px}
.chip,.bio-template{
  border:1px solid #cfe6da;
  background:#fff;
  color:#175241;
  border-radius:999px;
  padding:10px 14px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(8,80,43,.05);
  transition:.18s ease;
}
.chip:hover,.bio-template:hover{background:#eefaf4;border-color:#96d4b4;transform:translateY(-1px)}
.chip.active{
  background:linear-gradient(135deg,#087a43,#055f35);
  color:#fff;
  border-color:transparent;
  box-shadow:0 12px 24px rgba(6,95,53,.18);
}
.autocomplete-field{position:relative}
.suggestions{
  display:none;
  position:absolute;
  left:0;
  right:0;
  top:74px;
  z-index:20;
  padding:8px;
  background:#fff;
  border:1px solid #d8ebe2;
  border-radius:16px;
  box-shadow:0 18px 38px rgba(8,80,43,.13);
}
.suggestions button{
  display:block;
  width:100%;
  text-align:left;
  border:0;
  background:transparent;
  border-radius:11px;
  padding:10px 11px;
  color:#173f35;
  font-weight:800;
  cursor:pointer;
}
.suggestions button:hover{background:#eefaf4;color:#075a32}
.geo-field{display:flex;flex-direction:column;align-items:flex-start}
.btn-geo{width:auto !important;display:inline-flex;align-items:center;gap:7px}
.bio-assist{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:13px}
.activation-box{
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px 16px;
  margin:4px 0 15px;
  border-radius:16px;
  background:linear-gradient(135deg,#ecfaf3,#fff);
  border:1px solid #d5eee1;
  color:#224d41;
}
.activation-box strong{color:#075a32;white-space:nowrap}
.activation-box span{line-height:1.4}
.notice{border-radius:15px;padding:12px 14px;margin-bottom:14px;font-weight:800}
.notice-error{background:#fff4f2;color:#9f2a1d;border:1px solid #ffd7d2}
@media(max-width:980px){
  .onboarding-shell{grid-template-columns:1fr;min-height:auto;margin:16px auto}
  .onboarding-hero{min-height:auto;padding:26px}
  .onboarding-hero h1{font-size:29px}
}
@media(max-width:720px){
  .onboarding-card{padding:18px !important;border-radius:20px !important}
  .onboarding-title-row{flex-direction:column}
  .onboarding-title-row .btn-light{width:100%;text-align:center}
  .onboarding-card .form-row{grid-template-columns:1fr;gap:0}
  .step-actions{grid-template-columns:1fr}
  .progress-step span{font-size:11px}
  .onboarding-trust{grid-template-columns:1fr}
  .activation-box{display:block}
  .activation-box strong{display:block;margin-bottom:4px;white-space:normal}
}

/* Ajuste v15: apagar paciente/exemplos com segurança */
.btn-danger-soft{background:#fff1f2!important;color:#9f1239!important;border:1px solid #fecdd3!important;box-shadow:none!important}
.btn-danger-soft:hover{background:#ffe4e6!important;color:#881337!important;transform:translateY(-1px)}
.notice.success{background:#ecfdf5;border:1px solid #bbf7d0;color:#065f46}
.notice.danger{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}
.actions-cell{gap:6px;flex-wrap:wrap}

/* Marketing: aviso discreto e mensagem editável */
.marketing-panel{position:relative;overflow:hidden}
.marketing-title{align-items:flex-start}
.marketing-title h2{margin-bottom:4px}
.marketing-hint{display:inline-block;background:#f2faf6;border:1px solid #dceee5;color:#31574d;border-radius:999px;padding:9px 13px;font-size:13px;font-weight:800;margin:0 0 14px}
.marketing-message-editor{background:linear-gradient(135deg,#fbfffd,#f4fbf7);border:1px solid #e2eee8;border-radius:18px;padding:16px;margin-bottom:18px;box-shadow:0 10px 26px rgba(6,95,53,.05)}
.marketing-message-editor label{display:block;color:#064e2e;font-weight:900;margin-bottom:8px}
.marketing-message-editor textarea{width:100%;resize:vertical;min-height:84px;border:1.5px solid #cfe2d8;border-radius:14px;background:#fff;padding:13px 14px;font-size:14px;line-height:1.45;color:#143b32;outline:none;transition:.18s ease}
.marketing-message-editor textarea:focus{border-color:#0b7a3d;box-shadow:0 0 0 4px rgba(11,122,61,.10)}
.message-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;flex-wrap:wrap}
.message-actions small{color:#6f857d;font-weight:700}
@media(max-width:720px){.marketing-hint{border-radius:14px;line-height:1.35}.message-actions{display:block}.message-actions .btn{margin-top:10px;width:100%;text-align:center}}

/* Botão premium específico da página Marketing */
.btn-save-message{
  background:linear-gradient(135deg,#0b7a3d,#066333) !important;
  color:#fff !important;
  border:1px solid rgba(6,95,53,.85) !important;
  border-radius:14px !important;
  padding:12px 18px !important;
  font-weight:900 !important;
  letter-spacing:.01em;
  box-shadow:0 10px 22px rgba(6,95,53,.22), inset 0 1px 0 rgba(255,255,255,.18) !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:44px;
  text-decoration:none !important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn-save-message:hover{
  transform:translateY(-1px);
  filter:brightness(1.04);
  box-shadow:0 14px 28px rgba(6,95,53,.28), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.btn-save-message:active{
  transform:translateY(0);
  box-shadow:0 7px 16px rgba(6,95,53,.20) !important;
}
@media(max-width:720px){.btn-save-message{width:100% !important;}}

/* Marketing: status profissional no lugar de fallback 999 dias */
.retention-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900;border:1px solid transparent;white-space:nowrap}
.retention-badge.info{background:#e8f3ff;color:#0d47a1;border-color:#cfe5ff}
.retention-badge.warning{background:#fff7e6;color:#9a5a00;border-color:#ffe1a8}
.retention-badge.danger{background:#ffecec;color:#a71919;border-color:#ffc9c9}
.retention-badge.info:before{content:'🔵'}
.retention-badge.warning:before{content:'🟡'}
.retention-badge.danger:before{content:'🔴'}
