:root{--bg:#090909;--card:#141414;--card2:#1b1b1b;--text:#f5f5f5;--muted:#999;--accent:#f5b301;--danger:#ff4d4f}
*{box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100vh;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;padding-bottom:78px}.app-container{max-width:900px}.card,.modal-content{background:var(--card);color:var(--text);border:1px solid #242424;border-radius:18px}.form-control,.form-select{background:#101010;color:#fff;border-color:#303030;border-radius:12px;min-height:48px}.form-control:focus,.form-select:focus{background:#101010;color:#fff;border-color:var(--accent);box-shadow:0 0 0 .2rem color-mix(in srgb,var(--accent) 20%,transparent)}.form-select option{background:#111}.btn-primary{background:var(--accent);border-color:var(--accent);color:#090909;font-weight:700;border-radius:12px}.btn-outline-primary{border-color:var(--accent);color:var(--accent)}.btn-outline-primary:hover{background:var(--accent);border-color:var(--accent);color:#090909}.text-muted{color:var(--muted)!important}.topbar{position:sticky;top:0;z-index:1030;height:62px;background:#0d0d0dec;backdrop-filter:blur(12px);border-bottom:1px solid #222;display:flex;align-items:center;justify-content:space-between;padding:0 16px}.brand{display:flex;gap:10px;align-items:center;color:#fff;text-decoration:none;font-weight:800}.brand img{width:38px;height:38px;object-fit:cover;border-radius:50%}.brand-mark{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:#111}.icon-btn{font-size:1.25rem;color:#ddd}.bottom-nav{position:fixed;z-index:1040;bottom:0;left:0;right:0;height:68px;background:#0d0d0df2;border-top:1px solid #272727;display:flex;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav a{flex:1;color:#999;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.72rem;gap:2px}.bottom-nav i{font-size:1.25rem}.bottom-nav a:hover{color:var(--accent)}.metric{font-size:1.8rem;font-weight:800}.slot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.slot{border:1px solid #343434;background:#161616;color:#fff;padding:11px 5px;border-radius:12px;text-align:center;font-weight:700}.slot.available{border-color:var(--accent)}.slot.selected{background:var(--accent);color:#111}.slot.busy{opacity:.35;text-decoration:line-through;pointer-events:none}.status-pill{font-size:.74rem;border-radius:999px;padding:4px 9px;background:#252525}.appointment-card{border-left:4px solid var(--accent)}.public-shell{max-width:560px;margin:auto}.hero-logo{width:70px;height:70px;border-radius:50%;object-fit:cover;background:var(--accent)}.policy{font-size:.9rem;background:#18150b;border:1px solid color-mix(in srgb,var(--accent) 45%,#333);border-radius:14px;padding:12px}.list-group-item{background:#141414;border-color:#292929;color:#fff}.table{--bs-table-bg:#141414;--bs-table-color:#eee;--bs-table-border-color:#292929}.nav-pills .nav-link{color:#aaa}.nav-pills .nav-link.active{background:var(--accent);color:#111}@media(min-width:768px){.slot-grid{grid-template-columns:repeat(5,1fr)}body{padding-bottom:20px}.bottom-nav{position:sticky;top:62px;height:54px;justify-content:center;gap:12px}.bottom-nav a{flex:0 0 100px}}
.client-topbar{position:sticky;top:0;z-index:1030;margin:-1rem -12px 14px;padding:10px 14px;background:#0d0d0df2;border-bottom:1px solid #242424;display:flex;align-items:center;justify-content:space-between}.client-topbar .brand img{width:38px;height:38px;border-radius:50%;object-fit:cover}.date-nav{display:flex;gap:8px;overflow:auto;padding-bottom:2px}.date-chip{white-space:nowrap;border:1px solid #303030;background:#141414;color:#ddd;padding:9px 14px;border-radius:999px;text-decoration:none;font-weight:700}.date-chip.active,.date-chip:hover{background:var(--accent);border-color:var(--accent);color:#111}.grid-full{grid-column:1/-1}.timeline{overflow:hidden}.time-row{display:grid;grid-template-columns:64px 1fr;min-height:54px;border-bottom:1px solid #242424}.time-row:last-child{border-bottom:0}.time-hour{padding:14px 8px;font-weight:800;color:#aaa;border-right:1px solid #242424}.time-content{padding:6px 8px;display:flex;align-items:stretch}.time-free,.time-appt,.time-blocked{width:100%;border-radius:11px;padding:8px 10px;display:flex;align-items:center;gap:8px;text-decoration:none}.time-free{color:var(--accent);border:1px dashed color-mix(in srgb,var(--accent) 55%,#333)}.time-appt{background:#1b1b1b;color:#fff;border-left:4px solid var(--accent);flex-direction:column;align-items:flex-start;gap:1px}.time-appt small{color:#999}.time-blocked{color:#777;background:#111}.time-break .time-hour,.time-block .time-hour{opacity:.6}.client-results{max-height:260px;overflow:auto}.client-result{width:100%;border:0;border-bottom:1px solid #2a2a2a;background:#181818;color:#fff;text-align:left;padding:11px 12px;display:flex;justify-content:space-between;gap:10px}.client-result small{color:#999}.chosen-client{background:#171717;border:1px solid var(--accent);border-radius:12px;padding:10px}.form-control-sm{min-height:38px}@media(max-width:420px){.slot-grid{grid-template-columns:repeat(3,1fr)}.time-row{grid-template-columns:58px 1fr}.time-hour{padding-left:5px;padding-right:5px}}

.password-wrap{position:relative;margin-bottom:1rem}.password-wrap .form-control{margin-bottom:0!important;padding-right:48px}.password-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;background:transparent;color:var(--accent,#f5b301);font-size:18px;border-radius:10px}.password-eye:focus{outline:2px solid var(--accent,#f5b301);outline-offset:-2px}

/* Barber L v1.0.6 — tema white-label global e formulários mais legíveis */
:root{
  --accent-contrast:#090909;
  --accent-soft:color-mix(in srgb,var(--accent) 16%,transparent);
  --accent-border:color-mix(in srgb,var(--accent) 58%,#303030);
}

a{color:var(--accent)}
a:hover{color:color-mix(in srgb,var(--accent) 82%,white)}

.btn-primary,
.bg-primary,
.badge.bg-primary,
.nav-pills .nav-link.active,
.date-chip.active,
.date-chip:hover,
.slot.selected,
.list-group-item.active,
.dropdown-item.active,
.dropdown-item:active,
.page-item.active .page-link{
  background-color:var(--accent)!important;
  border-color:var(--accent)!important;
  color:var(--accent-contrast)!important;
}
.btn-primary:hover,.btn-primary:focus,.btn-primary:active{
  background-color:color-mix(in srgb,var(--accent) 88%,white)!important;
  border-color:color-mix(in srgb,var(--accent) 88%,white)!important;
  color:var(--accent-contrast)!important;
}
.btn-outline-primary{
  color:var(--accent)!important;
  border-color:var(--accent)!important;
}
.btn-outline-primary:hover,.btn-outline-primary:focus,.btn-outline-primary:active{
  background-color:var(--accent)!important;
  border-color:var(--accent)!important;
  color:var(--accent-contrast)!important;
}
.text-primary{color:var(--accent)!important}
.border-primary{border-color:var(--accent)!important}

.form-check-input:checked{
  background-color:var(--accent)!important;
  border-color:var(--accent)!important;
}
.form-check-input:focus,.form-control:focus,.form-select:focus{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 .2rem var(--accent-soft)!important;
}
.form-range::-webkit-slider-thumb{background:var(--accent)}
.form-range::-moz-range-thumb{background:var(--accent)}

.bottom-nav a.active,
.bottom-nav a:hover,
.icon-btn:hover,
.password-eye,
.time-free,
.slot.available{
  color:var(--accent)!important;
}
.bottom-nav a.active i{filter:drop-shadow(0 0 5px var(--accent-soft))}
.time-free,.chosen-client,.slot.available{border-color:var(--accent-border)!important}
.appointment-card,.time-appt{border-left-color:var(--accent)!important}
.brand-mark{background:var(--accent)!important;color:var(--accent-contrast)!important}
.hero-logo{background:var(--accent)!important}
.policy{border-color:var(--accent-border)!important;background:color-mix(in srgb,var(--accent) 7%,#151515)!important}

/* Contraste dos campos: o texto de orientação precisa ser visível no tema escuro. */
.form-control::placeholder,
textarea.form-control::placeholder,
input::placeholder{
  color:#aeb4bd!important;
  opacity:1!important;
}
.form-control::-webkit-input-placeholder,
textarea.form-control::-webkit-input-placeholder{color:#aeb4bd!important;opacity:1!important}
.form-control::-moz-placeholder,
textarea.form-control::-moz-placeholder{color:#aeb4bd!important;opacity:1!important}
.form-control:-ms-input-placeholder,
textarea.form-control:-ms-input-placeholder{color:#aeb4bd!important;opacity:1!important}
.form-text,.input-help,.help-text{color:#a7adb6!important}
.form-label,label:not(.form-check-label){color:#d7d9dd}
.form-control:disabled,.form-control[readonly],.form-select:disabled{color:#9ea3aa;background:#0d0d0d}

/* Mantém o seletor de cor visualmente coerente com os outros inputs. */
.form-control-color{padding:.35rem;cursor:pointer}

