
/* ==========================================
   LUME AGENDA | VÃƒâ€°RTICE AUTO DETAIL
   ADMIN.CSS Ã¢â‚¬â€ LOGIN E DASHBOARD

   ATUALIZAÃƒâ€¡ÃƒÆ’O:
   - BOTÃƒÆ’O ADICIONAR SERVIÃƒâ€¡O
   - MODAL DE CADASTRO DE SERVIÃƒâ€¡OS
   - STATUS ATIVO / INATIVO
   - RESPONSIVIDADE
   - PRESERVAÃƒâ€¡ÃƒÆ’O DAS SEÃƒâ€¡Ãƒâ€¢ES ANTERIORES
========================================== */

/* ==========================================
   1. VARIÃƒÂVEIS
========================================== */

:root {
  --admin-black: #141414;
  --admin-background: #191919;
  --admin-graphite: #252525;
  --admin-card: #222222;
  --admin-orange: #E87C32;
  --admin-orange-hover: #FF984F;
  --admin-white: #F5F3EF;
  --admin-gray: #A9A9A9;
  --admin-border: rgba(255, 255, 255, .1);
  --admin-green: #8FDEAE;
  --admin-red: #E67D7D;

  --admin-font-primary: 'Inter', sans-serif;
  --admin-font-title: 'Montserrat', sans-serif;
}

/* ==========================================
   2. RESET
========================================== */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  background: var(--admin-black);
  color: var(--admin-white);
  font-family: var(--admin-font-primary);
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

button {
  cursor: pointer;
}

svg {
  display: block;
}

[hidden] {
  display: none !important;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--admin-orange);
  outline-offset: 3px;
}

/* ==========================================
   3. LOGIN Ã¢â‚¬â€ ESTRUTURA
========================================== */

.admin-login-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;

  background:
    radial-gradient(
      circle at 14% 35%,
      rgba(232, 124, 50, .075),
      transparent 38%
    ),
    linear-gradient(
      135deg,
      #151515 0%,
      #202020 100%
    );
}

.admin-header {
  position: relative;
  z-index: 10;
  width: 100%;
  padding: 25px 0;
}

.admin-header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  width: min(90%, 1320px);
  margin: 0 auto;
}

.admin-logo {
  display: inline-flex;
  flex-direction: column;
  flex-shrink: 0;
  font-family: var(--admin-font-title);
  font-weight: 900;
  letter-spacing: 1.5px;
  line-height: 1;
}

.admin-logo-name {
  color: var(--admin-white);
  font-size: 25px;
}

.admin-logo-name span {
  color: var(--admin-orange);
}

.admin-logo small {
  margin-top: 7px;
  color: var(--admin-white);
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 4px;
}

.admin-back-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 12px 20px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 100px;
  background: rgba(255, 255, 255, .035);
  color: #D6D6D6;
  font-size: 13px;
  font-weight: 600;
  transition: .25s;
}

.admin-back-link svg {
  width: 17px;
  height: 17px;
}

.admin-back-link:hover {
  color: var(--admin-orange);
  border-color: var(--admin-orange);
  background: rgba(232, 124, 50, .07);
}

.admin-main {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  width: 100%;
  padding: 35px 0 65px;
}

.admin-login-layout {
  display: grid;
  grid-template-columns:
    minmax(0, 1.1fr)
    minmax(0, .9fr);
  align-items: center;
  gap: clamp(45px, 6vw, 105px);
  width: min(90%, 1180px);
  margin: 0 auto;
}

.admin-introduction,
.admin-login-section {
  min-width: 0;
}

.admin-introduction-content {
  max-width: 580px;
}

.admin-eyebrow {
  display: inline-block;
  color: var(--admin-orange);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 3px;
}

.admin-introduction h1 {
  margin-top: 22px;
  font-family: var(--admin-font-title);
  font-size: clamp(38px, 4.5vw, 62px);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -1.8px;
}

.admin-introduction h1 span {
  display: block;
  color: var(--admin-orange);
}

.admin-introduction-description {
  max-width: 500px;
  margin-top: 23px;
  color: #C3C3C3;
  font-size: 16px;
  line-height: 1.9;
}

.admin-feature-list {
  display: flex;
  flex-direction: column;
  gap: 23px;
  margin-top: 42px;
}

.admin-feature {
  display: flex;
  align-items: flex-start;
  gap: 17px;
}

.admin-feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(232, 124, 50, .18);
  border-radius: 13px;
  background: rgba(232, 124, 50, .09);
  color: var(--admin-orange);
}

.admin-feature-icon svg {
  width: 23px;
  height: 23px;
}

.admin-feature-text {
  min-width: 0;
  padding-top: 2px;
}

.admin-feature-text strong {
  display: block;
  margin-bottom: 7px;
  font-family: var(--admin-font-title);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}

.admin-feature-text p {
  color: #ACACAC;
  font-size: 13px;
  line-height: 1.8;
}

.admin-introduction-note {
  margin-top: 42px;
  color: #858585;
  font-size: 12px;
  line-height: 1.6;
}

/* ==========================================
   4. LOGIN Ã¢â‚¬â€ CARD
========================================== */

.admin-login-card {
  width: 100%;
  max-width: 490px;
  margin: 0 auto;
  padding: clamp(25px, 3.7vw, 43px);
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 23px;
  background: rgba(35, 35, 35, .97);
  box-shadow: 0 25px 75px rgba(0, 0, 0, .3);
}

.admin-login-symbol {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 65px;
  height: 65px;
  margin: 0 auto 23px;
  border: 1px solid rgba(232, 124, 50, .2);
  border-radius: 20px;
  background: rgba(232, 124, 50, .1);
  color: var(--admin-orange);
}

.admin-login-symbol svg {
  width: 30px;
  height: 30px;
}

.admin-login-tag {
  display: block;
  color: var(--admin-orange);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  text-align: center;
}

.admin-login-card h2 {
  margin: 13px 0;
  font-family: var(--admin-font-title);
  font-size: clamp(24px, 2.8vw, 31px);
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}

.admin-login-description {
  max-width: 340px;
  margin: 0 auto;
  color: #B5B5B5;
  font-size: 13px;
  line-height: 1.8;
  text-align: center;
}

.admin-demo-notice {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-top: 27px;
  padding: 14px;
  border: 1px solid rgba(232, 124, 50, .28);
  border-radius: 11px;
  background: rgba(232, 124, 50, .07);
}

.admin-demo-notice svg {
  flex: 0 0 19px;
  width: 19px;
  height: 19px;
  color: var(--admin-orange);
}

.admin-demo-notice p {
  color: #DEC4B1;
  font-size: 12px;
  line-height: 1.7;
}

.admin-demo-notice strong {
  color: #F0C4A3;
}

.admin-demo-credentials {
  margin-top: 20px;
  padding: 18px;
  border: 1px solid #494139;
  border-radius: 12px;
  background: #292622;
}

.admin-demo-credentials-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 15px;
}

.admin-demo-credentials-heading strong {
  color: var(--admin-white);
  font-size: 12px;
}

.admin-demo-credentials-heading span {
  color: #BAA18F;
  font-size: 10px;
}

.admin-demo-credential-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(255, 255, 255, .08);
}

.admin-demo-credential-row span {
  color: #B9B9B9;
  font-size: 12px;
}

.admin-demo-credential-row strong {
  color: #F8D0AD;
  font-size: 13px;
  font-weight: 800;
}

.admin-demo-fill-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 39px;
  margin-top: 12px;
  padding: 11px 14px;
  border: 1px solid var(--admin-orange);
  border-radius: 8px;
  background: rgba(232, 124, 50, .1);
  color: #FFB680;
  font-size: 12px;
  font-weight: 700;
  transition: .25s;
}

.admin-demo-fill-button:hover {
  background: rgba(232, 124, 50, .2);
  color: white;
}

.admin-login-form {
  display: flex;
  flex-direction: column;
  gap: 21px;
  margin-top: 29px;
}

.admin-form-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.admin-form-group label {
  color: #E5E5E5;
  font-size: 13px;
  font-weight: 600;
}

.admin-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}

.admin-input-wrapper svg {
  position: absolute;
  left: 16px;
  width: 19px;
  height: 19px;
  color: #A2A2A2;
  pointer-events: none;
}

.admin-input-wrapper input {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 15px 17px 15px 47px;
  border: 1px solid #4A4A4A;
  border-radius: 10px;
  outline: none;
  background: #292929;
  color: var(--admin-white);
  font-size: 14px;
  transition: .25s;
}

.admin-input-wrapper input::placeholder {
  color: #898989;
}

.admin-input-wrapper input:focus {
  border-color: var(--admin-orange);
  background: #2C2C2C;
}

.admin-input-wrapper input:disabled {
  opacity: 1;
  cursor: not-allowed;
  -webkit-text-fill-color: #A0A0A0;
}

.admin-forgot-password {
  margin-top: -3px;
  color: #969696;
  font-size: 12px;
  line-height: 1.6;
  text-align: right;
}

.admin-login-error {
  padding: 12px 14px;
  border: 1px solid rgba(255, 133, 112, .32);
  border-radius: 9px;
  background: rgba(185, 55, 37, .1);
  color: #FFB3A5;
  font-size: 12px;
  line-height: 1.6;
}

.admin-login-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  width: 100%;
  min-height: 53px;
  padding: 15px 20px;
  border: 0;
  border-radius: 10px;
  background: var(--admin-orange);
  color: #171717;
  font-size: 14px;
  font-weight: 800;
  transition: .25s;
}

.admin-login-button svg {
  width: 18px;
  height: 18px;
}

.admin-login-button:not(:disabled):hover {
  background: var(--admin-orange-hover);
  transform: translateY(-2px);
}

.admin-login-button:disabled {
  opacity: .65;
  cursor: not-allowed;
}

.admin-login-security {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
  padding-top: 21px;
  border-top: 1px solid var(--admin-border);
}

.admin-login-security svg {
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  color: #A3A3A3;
}

.admin-login-security span {
  color: #A3A3A3;
  font-size: 11px;
  line-height: 1.6;
  text-align: center;
}

.admin-powered-by {
  margin-top: 24px;
  color: #969696;
  font-size: 12px;
  line-height: 1.7;
  text-align: center;
}

.admin-powered-by strong {
  color: var(--admin-orange);
  font-family: var(--admin-font-title);
  font-weight: 800;
}

.admin-footer {
  width: 100%;
  padding: 20px 0 25px;
  border-top: 1px solid rgba(255, 255, 255, .06);
}

.admin-footer-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px;
  width: min(90%, 1320px);
  margin: 0 auto;
}

.admin-footer-container span {
  color: #858585;
  font-size: 11px;
  line-height: 1.6;
}

/* ==========================================
   5. DASHBOARD Ã¢â‚¬â€ ESTRUTURA
========================================== */

.dashboard-page {
  background: #141414;
}

.dashboard-page.is-menu-open,
.dashboard-page.is-modal-open {
  overflow: hidden;
}

.dashboard-demo-banner {
  position: relative;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  min-height: 39px;
  padding: 9px 16px;
  background: #3A281C;
  color: #F6CEAA;
  font-size: 11px;
  text-align: center;
}

.dashboard-demo-banner strong {
  color: #FFAC66;
  letter-spacing: 1px;
}

.dashboard-layout {
  display: flex;
  min-height: calc(100vh - 39px);
}

.dashboard-sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex: 0 0 256px;
  flex-direction: column;
  width: 256px;
  height: 100vh;
  padding: 27px 17px 20px;
  background: #1B1B1B;
  border-right: 1px solid #303030;
  overflow-y: auto;
}

.sidebar-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1px 12px 25px;
}

.sidebar-logo {
  display: inline-flex;
  flex-direction: column;
  font-family: var(--admin-font-title);
  font-weight: 900;
  letter-spacing: 1.2px;
}

.sidebar-logo > span {
  font-size: 21px;
  line-height: 1;
}

.sidebar-logo b {
  color: var(--admin-orange);
}

.sidebar-logo small {
  margin-top: 6px;
  font-size: 8px;
  font-weight: 600;
  letter-spacing: 3px;
}

.sidebar-close {
  display: none;
  border: 0;
  background: transparent;
  color: white;
  font-size: 30px;
}

.sidebar-product {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 5px 0 30px;
  padding: 13px 10px;
  border: 1px solid #393939;
  border-radius: 12px;
  background: #242424;
}

.sidebar-product-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 35px;
  height: 35px;
  border-radius: 9px;
  background: var(--admin-orange);
  color: #161616;
  font-family: var(--admin-font-title);
  font-weight: 900;
}

.sidebar-product strong,
.sidebar-product small {
  display: block;
}

.sidebar-product strong {
  font-size: 13px;
}

.sidebar-product small {
  margin-top: 4px;
  color: #A3A3A3;
  font-size: 10px;
}

.sidebar-navigation {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.sidebar-label {
  padding: 9px 13px;
  color: #898989;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
}

.sidebar-label-secondary {
  margin-top: 22px;
}

.sidebar-link {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  min-height: 44px;
  padding: 11px 13px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #BDBDBD;
  text-align: left;
  font-size: 13px;
  font-weight: 600;
}

.sidebar-link:hover {
  background: #2A2A2A;
  color: white;
}

.sidebar-link.is-active {
  background: rgba(232, 124, 50, .13);
  border-color: rgba(232, 124, 50, .15);
  color: var(--admin-orange);
}

.sidebar-link-icon {
  width: 20px;
  text-align: center;
  font-size: 22px;
  line-height: 1;
}

.sidebar-count {
  display: grid;
  place-items: center;
  min-width: 23px;
  height: 23px;
  margin-left: auto;
  padding: 0 5px;
  border-radius: 50px;
  background: var(--admin-orange);
  color: #151515;
  font-size: 11px;
  font-weight: 800;
}

.sidebar-footer {
  margin-top: auto;
  padding-top: 25px;
}

.sidebar-company {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 8px;
  border-top: 1px solid #363636;
}

.sidebar-avatar {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #413024;
  color: var(--admin-orange);
  font-weight: 800;
}

.sidebar-company strong {
  display: block;
  font-size: 11px;
}

.sidebar-company small {
  display: block;
  margin-top: 5px;
  color: #939393;
  font-size: 10px;
}

.sidebar-exit {
  display: inline-block;
  padding: 12px 8px;
  color: #A8A8A8;
  font-size: 12px;
}

.sidebar-exit:hover {
  color: var(--admin-orange);
}

.sidebar-overlay {
  display: none;
}

/* ==========================================
   6. CABEÃƒâ€¡ALHO SUPERIOR
========================================== */

.dashboard-main-area {
  flex: 1;
  min-width: 0;
}

.dashboard-topbar {
  position: sticky;
  top: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  min-height: 78px;
  padding: 15px 36px;
  border-bottom: 1px solid #303030;
  background: rgba(25, 25, 25, .96);
  backdrop-filter: blur(12px);
}

.dashboard-topbar-left,
.dashboard-topbar-actions {
  display: flex;
  align-items: center;
  gap: 21px;
}

.dashboard-breadcrumb small {
  display: block;
  color: #888;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.5px;
}

.dashboard-breadcrumb strong {
  display: block;
  margin-top: 5px;
  font-size: 14px;
}

.dashboard-menu-button {
  display: none;
  width: 40px;
  height: 40px;
  padding: 9px;
  border: 1px solid #454545;
  border-radius: 9px;
  background: #262626;
}

.dashboard-menu-button span {
  display: block;
  width: 19px;
  height: 2px;
  margin: 4px 0;
  background: white;
}

.dashboard-demo-label {
  color: #B4B4B4;
  font-size: 12px;
}

.notifications-wrapper {
  position: relative;
}

.notification-button {
  position: relative;
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border: 1px solid #3A3A3A;
  border-radius: 11px;
  background: #252525;
  color: var(--admin-orange);
}

.notification-button svg {
  width: 21px;
  height: 21px;
}

.notification-counter {
  position: absolute;
  top: -6px;
  right: -6px;
  display: grid;
  place-items: center;
  min-width: 20px;
  height: 20px;
  padding: 0 4px;
  border-radius: 50px;
  background: var(--admin-orange);
  color: #131313;
  font-size: 10px;
  font-weight: 800;
}

.dashboard-user {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid #5A412C;
  border-radius: 50%;
  background: #3C2A1D;
  color: var(--admin-orange);
  font-size: 12px;
  font-weight: 800;
}

/* ==========================================
   7. NOTIFICAÃƒâ€¡Ãƒâ€¢ES
========================================== */

.notification-panel {
  position: absolute;
  top: calc(100% + 13px);
  right: 0;
  width: min(350px, 85vw);
  padding: 19px;
  border: 1px solid #474747;
  border-radius: 15px;
  background: #252525;
  box-shadow: 0 15px 50px rgba(0, 0, 0, .45);
}

.notification-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.notification-panel-header strong {
  font-family: var(--admin-font-title);
  font-size: 16px;
}

.notification-panel-header button {
  border: 0;
  background: transparent;
  color: #D0D0D0;
  font-size: 24px;
}

.notification-description {
  margin: 10px 0 15px;
  color: #ADADAD;
  font-size: 12px;
  line-height: 1.6;
}

.notification-item {
  padding: 13px 0;
  border-top: 1px solid #404040;
}

.notification-item strong {
  display: block;
  font-size: 12px;
}

.notification-item span {
  display: block;
  margin-top: 5px;
  color: #AEAEAE;
  font-size: 11px;
  line-height: 1.5;
}

.notification-view-all {
  width: 100%;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--admin-orange);
  border-radius: 8px;
  background: transparent;
  color: var(--admin-orange);
  font-size: 12px;
  font-weight: 700;
}

/* ==========================================
   8. CONTEÃƒÅ¡DO E BREADCRUMB
========================================== */

.dashboard-content {
  max-width: 1650px;
  margin: 0 auto;
  padding: 37px 36px 30px;
}

.dashboard-trail {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 11px;
  margin-bottom: 26px;
  color: #A8A8A8;
  font-size: 12px;
  line-height: 1.5;
}

.dashboard-trail-home {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #A8A8A8;
  font-size: 12px;
  font-weight: 500;
  transition: color .2s;
}

.dashboard-trail-home svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
}

.dashboard-trail-home:hover {
  color: var(--admin-white);
}

.dashboard-trail-separator {
  color: #676767;
  font-size: 21px;
  line-height: 1;
  user-select: none;
}

.dashboard-trail-current {
  color: var(--admin-orange);
  font-weight: 700;
}

.dashboard-page-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 29px;
}

.dashboard-eyebrow {
  color: var(--admin-orange);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
}

.dashboard-page-heading h1 {
  margin: 12px 0;
  font-family: var(--admin-font-title);
  font-size: clamp(29px, 3vw, 39px);
  font-weight: 800;
}

.dashboard-page-heading p {
  color: #ADADAD;
  font-size: 13px;
  line-height: 1.7;
}

.dashboard-heading-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 11px;
}

/* ==========================================
   9. BOTÃƒâ€¢ES
========================================== */

.dashboard-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 43px;
  padding: 12px 19px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  transition:
    background-color .2s,
    border-color .2s,
    color .2s;
}

.dashboard-btn-primary {
  background: var(--admin-orange);
  color: #151515;
}

.dashboard-btn-primary:hover {
  background: var(--admin-orange-hover);
}

.dashboard-btn-outline {
  border-color: #595959;
  background: transparent;
  color: var(--admin-white);
}

.dashboard-btn-outline:hover {
  border-color: var(--admin-orange);
  color: var(--admin-orange);
}

.dashboard-btn-danger {
  border-color: rgba(235, 115, 115, .4);
  background: rgba(235, 115, 115, .08);
  color: #FFAAAA;
}

.dashboard-btn-danger:hover {
  background: rgba(235, 115, 115, .16);
}

.dashboard-btn-success {
  border-color: #67BE8A;
  background: #2C8D57;
  color: #FFFFFF;
}

.dashboard-btn-success:hover {
  background: #39A767;
}

.dashboard-btn-full {
  width: 100%;
  margin-top: 24px;
}

.dashboard-text-button {
  padding: 5px;
  border: 0;
  background: transparent;
  color: var(--admin-orange);
  font-size: 12px;
  font-weight: 700;
}

.dashboard-text-button:hover {
  color: var(--admin-orange-hover);
}

/* ==========================================
   10. INDICADORES
========================================== */

.dashboard-stats-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 23px;
}

.dashboard-stat-card {
  min-width: 0;
  padding: 21px;
  border: 1px solid #363636;
  border-radius: 15px;
  background: #232323;
  color: var(--admin-white);
}

.dashboard-stat-link {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-height: 189px;
  text-align: left;
  cursor: pointer;

  transition:
    transform .22s,
    border-color .22s,
    background-color .22s,
    box-shadow .22s;
}

.dashboard-stat-link:hover {
  transform: translateY(-4px);
  border-color: rgba(232, 124, 50, .6);
  background: #292725;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .16);
}

.dashboard-stat-link:active {
  transform: translateY(-1px);
}

.dashboard-stat-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  color: #C0C0C0;
  font-size: 11px;
  line-height: 1.5;
}

.dashboard-stat-arrow {
  flex-shrink: 0;
  color: var(--admin-orange);
  font-size: 20px;
  line-height: 1;
  transition: transform .22s;
}

.dashboard-stat-link:hover .dashboard-stat-arrow {
  transform: translate(2px, -2px);
}

.dashboard-stat-card strong {
  display: block;
  margin: 15px 0 9px;
  color: var(--admin-white);
  font-family: var(--admin-font-title);
  font-size: 36px;
  font-weight: 800;
  line-height: 1.2;
  font-variant-numeric: tabular-nums;
}

.dashboard-stat-card strong.stat-orange {
  color: var(--admin-orange);
}

.dashboard-stat-card strong.stat-green {
  color: var(--admin-green);
}

.dashboard-stat-card small {
  display: block;
  color: #999999;
  font-size: 10px;
  line-height: 1.5;
}

.dashboard-stat-action {
  display: block;
  margin-top: auto;
  padding-top: 17px;
  color: var(--admin-orange);
  font-size: 11px;
  font-weight: 700;
}

.dashboard-overview-stats .dashboard-stat-link.is-active {
  border-color: var(--admin-orange);
  background:
    linear-gradient(
      145deg,
      rgba(232, 124, 50, .12),
      rgba(232, 124, 50, .025)
    ),
    #242424;

  box-shadow:
    inset 0 0 0 1px rgba(232, 124, 50, .12),
    0 8px 25px rgba(0, 0, 0, .12);
}

/* ==========================================
   11. SOLICITAÃƒâ€¡Ãƒâ€¢ES RECENTES
========================================== */

.overview-requests-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 12px;
}

#overview-reset-filter {
  color: #D7D7D7;
  font-weight: 600;
}

#overview-reset-filter:hover {
  color: var(--admin-orange);
}

.overview-results-count {
  margin-bottom: 8px;
  color: #A9A9A9;
  font-size: 11px;
  line-height: 1.6;
}

/* ==========================================
   12. CARDS GERAIS
========================================== */

.dashboard-section-card {
  min-width: 0;
  padding: 25px;
  border: 1px solid #363636;
  border-radius: 16px;
  background: #222222;
}

.dashboard-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 23px;
}

.dashboard-card-heading h2 {
  font-family: var(--admin-font-title);
  font-size: 18px;
  font-weight: 700;
}

.dashboard-card-heading p {
  margin-top: 7px;
  color: #9F9F9F;
  font-size: 12px;
  line-height: 1.7;
}

.dashboard-overview-bottom {
  display: grid;
  grid-template-columns:
    minmax(0, 1.35fr)
    minmax(0, 1fr);
  gap: 23px;
  margin-top: 23px;
}

/* ==========================================
   13. LINHAS DOS AGENDAMENTOS
========================================== */

.admin-request-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px;
  padding: 17px 0;
  border-bottom: 1px solid #373737;
}

.admin-request-row:last-child {
  border-bottom: none;
}

.admin-request-primary {
  min-width: 0;
}

.admin-request-primary strong {
  display: block;
  font-size: 13px;
  line-height: 1.5;
}

.admin-request-primary p {
  margin-top: 5px;
  color: #A9A9A9;
  font-size: 12px;
  line-height: 1.6;
}

.admin-request-secondary {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 12px;
}

/* ==========================================
   14. STATUS
========================================== */

.admin-status {
  display: inline-block;
  padding: 7px 11px;
  border: 1px solid;
  border-radius: 100px;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.admin-status-pending {
  border-color: rgba(232, 124, 50, .35);
  background: rgba(232, 124, 50, .12);
  color: #FFB57D;
}

.admin-status-confirmed {
  border-color: rgba(98, 190, 130, .3);
  background: rgba(98, 190, 130, .1);
  color: #87DEA4;
}

.admin-status-completed {
  border-color: rgba(105, 210, 145, .5);
  background: rgba(62, 143, 88, .19);
  color: #9DE6B4;
}

.admin-status-cancelled,
.admin-status-rejected {
  border-color: #555555;
  background: #303030;
  color: #BCBCBC;
}

.admin-row-button {
  padding: 9px 13px;
  border: 1px solid #555555;
  border-radius: 7px;
  background: #2D2D2D;
  color: #FFFFFF;
  font-size: 11px;
  font-weight: 600;
}

.admin-row-button:hover {
  border-color: var(--admin-orange);
  color: var(--admin-orange);
}

/* ==========================================
   15. FUNCIONAMENTO NA VISÃƒÆ’O GERAL
========================================== */

.dashboard-operating-info {
  display: grid;
  gap: 15px;
}

.dashboard-operating-info > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding-bottom: 13px;
  border-bottom: 1px solid #3A3A3A;
}

.dashboard-operating-info span {
  color: #A8A8A8;
  font-size: 12px;
}

.dashboard-operating-info strong {
  font-size: 13px;
  text-align: right;
}

/* ==========================================
   16. SOLICITAÃƒâ€¡Ãƒâ€¢ES
========================================== */

.requests-toolbar {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1.6fr);
  gap: 15px;
  margin-bottom: 21px;
}

.requests-active-filter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 19px;
  padding: 14px 16px;
  border: 1px solid rgba(232, 124, 50, .25);
  border-radius: 11px;
  background: rgba(232, 124, 50, .065);
}

.requests-active-filter-text {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}

.requests-active-filter-text strong {
  color: #F3C29E;
  font-size: 12px;
  line-height: 1.5;
}

.requests-active-filter-text span {
  color: #BEAEA3;
  font-size: 11px;
  line-height: 1.6;
}

.requests-clear-filter {
  flex-shrink: 0;
  padding: 9px 12px;
  border: 1px solid rgba(232, 124, 50, .4);
  border-radius: 8px;
  background: transparent;
  color: #FFB57D;
  font-size: 11px;
  font-weight: 700;
}

.requests-clear-filter:hover {
  background: rgba(232, 124, 50, .12);
}

.requests-result-count {
  margin-bottom: 6px;
  color: #9E9E9E;
  font-size: 11px;
  line-height: 1.6;
}

/* ==========================================
   17. AGENDA Ã¢â‚¬â€ CALENDÃƒÂRIO
========================================== */

.dashboard-agenda-layout {
  display: grid;
  grid-template-columns:
    minmax(0, 1fr)
    minmax(0, 1fr);
  align-items: start;
  gap: 23px;
}

.admin-calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  margin-bottom: 22px;
}

.admin-calendar-header strong {
  font-family: var(--admin-font-title);
  font-size: 17px;
  text-transform: capitalize;
}

.admin-calendar-controls {
  display: flex;
  gap: 8px;
}

.admin-calendar-controls button {
  width: 35px;
  height: 35px;
  border: 1px solid #555555;
  border-radius: 8px;
  background: #2C2C2C;
  color: #FFFFFF;
  font-size: 24px;
}

.admin-calendar-weekdays,
.admin-calendar-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}

.admin-calendar-weekdays {
  margin-bottom: 12px;
  color: #A0A0A0;
  text-align: center;
  font-size: 11px;
}

.admin-calendar-blank {
  aspect-ratio: 1;
}

.admin-calendar-day {
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  aspect-ratio: 1;
  border: 1px solid #404040;
  border-radius: 9px;
  background: #2B2B2B;
  color: #FFFFFF;
  font-size: 12px;
}

.admin-calendar-day:hover {
  border-color: var(--admin-orange);
}

.admin-calendar-day.is-closed {
  border-color: #343434;
  background: #202020;
  color: #777777;
}

.admin-calendar-day.is-closed:hover {
  border-color: #686868;
}

.admin-calendar-day.is-selected {
  border-color: var(--admin-orange);
  background: var(--admin-orange);
  color: #141414;
  font-weight: 800;
}

.admin-calendar-day.has-bookings::after {
  content: "";
  position: absolute;
  bottom: 5px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--admin-orange);
}

.admin-calendar-day.has-blocks::before {
  content: "";
  position: absolute;
  bottom: 5px;
  left: calc(50% - 8px);
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--admin-red);
}

.admin-calendar-day.has-bookings.has-blocks::after {
  left: calc(50% + 3px);
}

.admin-calendar-day.has-blocks:not(.has-bookings)::before {
  left: calc(50% - 2.5px);
}

.admin-calendar-day.has-bookings.is-selected::after {
  background: #151515;
}

.admin-calendar-day.has-blocks.is-selected::before {
  background: #972E2E;
}

.admin-calendar-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 17px;
  margin-top: 20px;
}

.admin-calendar-legend span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #C2C2C2;
  font-size: 11px;
}

.calendar-legend-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.calendar-legend-booking {
  background: var(--admin-orange);
}

.calendar-legend-block {
  background: var(--admin-red);
}

.calendar-legend-closed {
  background: #777777;
}

.admin-calendar-note {
  margin-top: 13px;
  color: #999999;
  font-size: 11px;
  line-height: 1.7;
}

/* ==========================================
   18. ATENDIMENTOS DO DIA
========================================== */

.admin-day-list {
  display: flex;
  flex-direction: column;
  gap: 11px;
}

.admin-day-booking {
  padding: 14px 15px;
  border-left: 3px solid var(--admin-orange);
  border-radius: 8px;
  background: #2D2D2D;
}

.admin-day-booking.is-confirmed {
  border-left-color: #6EC18B;
}

.admin-day-booking strong {
  display: block;
  font-size: 13px;
}

.admin-day-booking p {
  margin-top: 6px;
  color: #B4B4B4;
  font-size: 12px;
  line-height: 1.6;
}

.admin-day-booking .admin-row-button {
  margin-top: 11px;
}

.dashboard-inline-note {
  margin-top: 22px;
  color: #969696;
  font-size: 11px;
  line-height: 1.8;
}

.dashboard-empty {
  padding: 26px 15px;
  border: 1px dashed #4B4B4B;
  border-radius: 10px;
  color: #A7A7A7;
  font-size: 12px;
  line-height: 1.7;
  text-align: center;
}

/* ==========================================
   19. BLOQUEIOS DE AGENDA
========================================== */

.dashboard-blocks-card {
  margin-top: 23px;
}

.admin-blocks-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.admin-block-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 15px;
  padding: 17px 18px;
  border: 1px solid rgba(230, 125, 125, .22);
  border-left: 3px solid var(--admin-red);
  border-radius: 11px;
  background: #292626;
}

.admin-block-info {
  min-width: 0;
}

.admin-block-info strong {
  display: block;
  margin-bottom: 7px;
  color: #F4F4F4;
  font-size: 13px;
  line-height: 1.5;
}

.admin-block-info p {
  color: #B8B8B8;
  font-size: 12px;
  line-height: 1.7;
}

.admin-block-reason {
  display: block;
  margin-top: 7px;
  color: #AC9D9D;
  font-size: 11px;
  line-height: 1.6;
}

.admin-block-tag {
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border: 1px solid rgba(230, 125, 125, .35);
  border-radius: 100px;
  background: rgba(230, 125, 125, .09);
  color: #FFB0B0;
  font-size: 10px;
  font-weight: 700;
}

.admin-block-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-block-remove {
  padding: 10px 13px;
  border: 1px solid rgba(230, 125, 125, .4);
  border-radius: 8px;
  background: rgba(230, 125, 125, .08);
  color: #FFAAAA;
  font-size: 11px;
  font-weight: 700;
}

.admin-block-remove:hover {
  border-color: var(--admin-red);
  background: rgba(230, 125, 125, .17);
}

.admin-day-block {
  padding: 14px 15px;
  border-left: 3px solid var(--admin-red);
  border-radius: 8px;
  background: #342929;
}

.admin-day-block strong {
  display: block;
  color: #FFC4C4;
  font-size: 13px;
}

.admin-day-block p {
  margin-top: 6px;
  color: #D1BBBB;
  font-size: 12px;
  line-height: 1.6;
}

/* ==========================================
   20. FORMULÃƒÂRIOS
========================================== */

.dashboard-form-card {
  max-width: 950px;
}

.dashboard-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.dashboard-field {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  color: #E5E5E5;
  font-size: 12px;
  font-weight: 600;
}

.dashboard-field-full {
  grid-column: 1 / -1;
}

.dashboard-field input,
.dashboard-field select,
.dashboard-field textarea {
  width: 100%;
  min-width: 0;
  min-height: 45px;
  padding: 12px 13px;
  border: 1px solid #4B4B4B;
  border-radius: 9px;
  outline: none;
  background: #2B2B2B;
  color: #FFFFFF;
  font-size: 13px;
  color-scheme: dark;
}

.dashboard-field input:focus,
.dashboard-field select:focus,
.dashboard-field textarea:focus {
  border-color: var(--admin-orange);
}

.dashboard-field textarea {
  resize: vertical;
}

.dashboard-field option {
  color: #FFFFFF;
  background: #242424;
}

.dashboard-form-actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 25px;
}

.dashboard-form-error {
  margin-top: 17px;
  color: #FFB4A2;
  font-size: 12px;
  line-height: 1.7;
}

.manual-booking-summary {
  margin-top: 23px;
  padding: 16px;
  border: 1px solid rgba(232, 124, 50, .25);
  border-radius: 10px;
  background: rgba(232, 124, 50, .07);
  color: #EAC8AF;
  font-size: 12px;
  line-height: 1.8;
}

/* ==========================================
   21. AUTOPREENCHIMENTO DO NAVEGADOR
========================================== */

.dashboard-field input:-webkit-autofill,
.dashboard-field input:-webkit-autofill:hover,
.dashboard-field input:-webkit-autofill:focus,
.dashboard-field textarea:-webkit-autofill,
.admin-input-wrapper input:-webkit-autofill {
  box-shadow:
    0 0 0 1000px #2B2B2B inset !important;

  -webkit-box-shadow:
    0 0 0 1000px #2B2B2B inset !important;

  -webkit-text-fill-color: #FFFFFF !important;
  caret-color: #FFFFFF !important;

  transition:
    background-color 9999s ease-out 0s;
}

.dashboard-field input:autofill,
.admin-input-wrapper input:autofill {
  color: #FFFFFF !important;
}

/* ==========================================
   22. CAMPOS DE DATA E HORÃƒÂRIO
========================================== */

.dashboard-date-field,
.dashboard-time-field {
  cursor: pointer;
}

.dashboard-date-field input[type="date"],
.dashboard-time-field input[type="time"] {
  min-height: 49px;
  cursor: pointer;
}

.dashboard-date-field
input[type="date"]::-webkit-calendar-picker-indicator,
.dashboard-time-field
input[type="time"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: .85;
}

/* ==========================================
   23. MODAL DE BLOQUEIO
========================================== */

.agenda-block-modal {
  width: min(100%, 510px);
}

.agenda-block-description {
  margin-top: 20px;
  color: #B7B7B7;
  font-size: 12px;
  line-height: 1.8;
}

.agenda-block-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 24px;
}

.agenda-block-form .dashboard-field {
  font-size: 12px;
}

.agenda-block-form .dashboard-field input,
.agenda-block-form .dashboard-field select,
.agenda-block-form .dashboard-field textarea {
  background: #1F1F1F;
  border-color: #454545;
}

.agenda-block-form .dashboard-field input:focus,
.agenda-block-form .dashboard-field select:focus,
.agenda-block-form .dashboard-field textarea:focus {
  border-color: var(--admin-orange);
}

.agenda-block-hours {
  gap: 15px;
}

.agenda-block-help {
  padding: 14px 15px;
  border: 1px solid rgba(232, 124, 50, .17);
  border-radius: 9px;
  background: rgba(232, 124, 50, .06);
  color: #C9AF9C;
  font-size: 11px;
  line-height: 1.75;
}

.agenda-block-form .dashboard-form-actions {
  margin-top: 0;
  padding-top: 18px;
  border-top: 1px solid #3B3B3B;
}

/* ==========================================
   24. CONFIGURAÃƒâ€¡ÃƒÆ’O SEMANAL
========================================== */

.dashboard-settings-description {
  margin-top: -10px;
  margin-bottom: 25px;
  color: #AFAFAF;
  font-size: 12px;
  line-height: 1.8;
}

.dashboard-weekly-schedule {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dashboard-weekday-row {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 19px 20px;
  border: 1px solid #414141;
  border-radius: 12px;
  background: #2A2A2A;
  transition:
    border-color .2s,
    background-color .2s;
}

.dashboard-weekday-row:hover {
  border-color: #515151;
}

.dashboard-weekday-row.is-closed {
  background: #242424;
  border-color: #353535;
}

.dashboard-weekday-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.dashboard-weekday-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.dashboard-weekday-name {
  color: #F5F5F5;
  font-family: var(--admin-font-title);
  font-size: 14px;
  font-weight: 700;
}

.dashboard-weekday-status {
  color: var(--admin-green);
  font-size: 11px;
  font-weight: 600;
}

.dashboard-weekday-row.is-closed
.dashboard-weekday-status {
  color: #929292;
}

.dashboard-weekday-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 11px;
  cursor: pointer;
}

.dashboard-weekday-toggle-label {
  color: #D2D2D2;
  font-size: 12px;
  font-weight: 600;
}

.dashboard-weekday-toggle input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}

.dashboard-weekday-switch {
  position: relative;
  display: inline-block;
  width: 46px;
  height: 26px;
  flex-shrink: 0;
  border: 1px solid #5A5A5A;
  border-radius: 100px;
  background: #474747;
  transition:
    border-color .2s,
    background-color .2s;
}

.dashboard-weekday-switch::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #D9D9D9;
  box-shadow: 0 2px 5px rgba(0, 0, 0, .18);
  transition:
    transform .2s,
    background-color .2s;
}

.dashboard-weekday-toggle input:checked
+ .dashboard-weekday-switch {
  border-color: var(--admin-orange);
  background: var(--admin-orange);
}

.dashboard-weekday-toggle input:checked
+ .dashboard-weekday-switch::after {
  transform: translateX(20px);
  background: #1C1C1C;
}

.dashboard-weekday-toggle input:focus-visible
+ .dashboard-weekday-switch {
  outline: 2px solid var(--admin-orange);
  outline-offset: 4px;
}

.dashboard-weekday-hours {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
}

.dashboard-weekday-hours .dashboard-field {
  font-size: 11px;
}

.dashboard-weekday-hours select {
  min-height: 48px;
  padding: 12px 13px;
  border: 1px solid #505050;
  border-radius: 9px;
  background: #202020;
  color: #FFFFFF;
  font-size: 13px;
  cursor: pointer;
}

.dashboard-weekday-hours select:focus {
  border-color: var(--admin-orange);
}

.dashboard-weekday-closed-message {
  padding: 12px 14px;
  border: 1px dashed #424242;
  border-radius: 8px;
  background: #202020;
  color: #929292;
  font-size: 11px;
  line-height: 1.7;
}

.dashboard-settings-divider {
  width: 100%;
  height: 1px;
  margin: 29px 0;
  background: #414141;
}

.dashboard-settings-subheading {
  margin-bottom: 22px;
  font-family: var(--admin-font-title);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}

#settings-error {
  margin-top: 22px;
  padding: 13px 15px;
  border: 1px solid rgba(230, 125, 125, .3);
  border-radius: 9px;
  background: rgba(230, 125, 125, .07);
}

/* ==========================================
   25. SERVIÃƒâ€¡OS Ã¢â‚¬â€ CATÃƒÂLOGO
========================================== */

.admin-services-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
}

.admin-service-card {
  padding: 20px;
  border: 1px solid #424242;
  border-radius: 13px;
  background: #2B2B2B;
}

.admin-service-card.is-inactive {
  opacity: .6;
}

.admin-service-card h3 {
  margin-bottom: 9px;
  font-family: var(--admin-font-title);
  font-size: 15px;
  line-height: 1.5;
}

.admin-service-card p {
  color: #B3B3B3;
  font-size: 12px;
  line-height: 1.7;
}

.admin-service-price {
  display: block;
  margin-top: 15px;
  color: var(--admin-orange);
  font-size: 19px;
  font-weight: 800;
}

.admin-service-actions {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin-top: 17px;
}

.dashboard-settings-heading {
  margin-bottom: 25px;
  font-family: var(--admin-font-title);
  font-size: 19px;
}

/* ==========================================
   26. NOVO Ã¢â‚¬â€ BOTÃƒÆ’O ADICIONAR SERVIÃƒâ€¡O
========================================== */

.admin-add-service-button {
  flex-shrink: 0;
  min-height: 44px;
  padding: 12px 17px;
  white-space: nowrap;
}

.admin-add-service-plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--admin-font-primary);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.admin-add-service-button:hover
.admin-add-service-plus {
  transform: scale(1.08);
}

/* ==========================================
   27. MODAIS Ã¢â‚¬â€ ESTRUTURA GERAL
========================================== */

.dashboard-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 150;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(0, 0, 0, .85);
}

.dashboard-modal {
  width: min(100%, 550px);
  max-height: 90vh;
  max-height: 90dvh;
  overflow-y: auto;
  padding: 26px;
  border: 1px solid #505050;
  border-radius: 18px;
  background: #242424;
  box-shadow: 0 22px 80px rgba(0, 0, 0, .6);
}

.dashboard-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 17px;
  border-bottom: 1px solid #424242;
}

.dashboard-modal-header h2 {
  margin-top: 6px;
  font-family: var(--admin-font-title);
  font-size: 20px;
}

.dashboard-modal-close {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #C7C7C7;
  font-size: 29px;
}

.dashboard-modal-close:hover {
  border-color: #494949;
  background: #333333;
  color: #FFFFFF;
}

.dashboard-modal-data {
  display: grid;
  gap: 15px;
  padding: 22px 0;
}

.dashboard-modal-data > div {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.dashboard-modal-data dt {
  color: #A8A8A8;
  font-size: 12px;
}

.dashboard-modal-data dd {
  max-width: 70%;
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 600;
  text-align: right;
}

.dashboard-modal-actions {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 17px;
  border-top: 1px solid #424242;
}

/* ==========================================
   28. NOVO Ã¢â‚¬â€ MODAL ADICIONAR SERVIÃƒâ€¡O
========================================== */

.service-add-modal {
  width: min(100%, 510px);
}

.service-add-description {
  margin-top: 20px;
  color: #B7B7B7;
  font-size: 12px;
  line-height: 1.8;
}

.service-add-form {
  display: flex;
  flex-direction: column;
  gap: 21px;
  margin-top: 25px;
}

.service-add-form .dashboard-field {
  font-size: 12px;
}

.service-add-form .dashboard-field > input,
.service-add-form .dashboard-field > select {
  min-height: 50px;
  background: #1F1F1F;
  border-color: #454545;
}

.service-add-form .dashboard-field > input:focus,
.service-add-form .dashboard-field > select:focus {
  border-color: var(--admin-orange);
}

.service-add-form
.service-edit-price-wrapper input {
  min-height: 50px;
  background: #1F1F1F;
}

/* STATUS ATIVO / INATIVO */

.service-add-active-row {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 17px;
  border: 1px solid #444444;
  border-radius: 11px;
  background: #2D2D2D;
  cursor: pointer;
}

.service-add-active-row:hover {
  border-color: #666666;
}

.service-add-active-row input[type="checkbox"] {
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  margin-top: 2px;
  accent-color: var(--admin-orange);
  cursor: pointer;
}

.service-add-active-copy {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.service-add-active-copy strong {
  color: #F4F4F4;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

.service-add-active-copy small {
  color: #A8A8A8;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.7;
}

.service-add-help {
  padding: 13px 14px;
  border: 1px solid rgba(232, 124, 50, .17);
  border-radius: 9px;
  background: rgba(232, 124, 50, .06);
  color: #C9AF9C;
  font-size: 11px;
  line-height: 1.75;
}

.service-add-form .dashboard-form-error {
  margin-top: 0;
  padding: 12px 14px;
  border: 1px solid rgba(230, 125, 125, .3);
  border-radius: 9px;
  background: rgba(230, 125, 125, .07);
}

.service-add-form .dashboard-form-actions {
  margin-top: 0;
  padding-top: 18px;
  border-top: 1px solid #3B3B3B;
}

/* ==========================================
   29. MODAL EDITAR SERVIÃƒâ€¡O
========================================== */

.service-edit-modal {
  width: min(100%, 480px);
  padding: 30px;
  border: 1px solid #494949;
  border-radius: 20px;
  background: #252525;
}

.service-edit-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
  padding-bottom: 22px;
  border-bottom: 1px solid #3E3E3E;
}

.service-edit-eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--admin-orange);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.7px;
}

.service-edit-header h2 {
  font-family: var(--admin-font-title);
  font-size: 24px;
  font-weight: 800;
  line-height: 1.3;
}

.service-edit-intro {
  padding-top: 22px;
}

.service-edit-intro strong {
  display: block;
  color: #FFFFFF;
  font-family: var(--admin-font-title);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
}

.service-edit-intro p {
  margin-top: 8px;
  color: #ADADAD;
  font-size: 12px;
  line-height: 1.7;
}

.service-edit-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-top: 27px;
}

.service-edit-form .dashboard-field {
  font-size: 13px;
}

.service-edit-form .dashboard-field > select {
  min-height: 51px;
  background: #1B1B1B;
}

.service-edit-price-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.service-edit-currency {
  position: absolute;
  left: 15px;
  color: #BFBFBF;
  font-size: 14px;
  font-weight: 700;
  pointer-events: none;
}

.service-edit-price-wrapper input {
  min-height: 51px;
  padding-left: 45px;
  background: #1B1B1B;
  font-size: 15px;
  font-weight: 600;
}

.service-edit-price-wrapper input:focus {
  border-color: var(--admin-orange);
}

.service-edit-help {
  padding: 13px 14px;
  border: 1px solid rgba(232, 124, 50, .17);
  border-radius: 9px;
  background: rgba(232, 124, 50, .06);
  color: #C9AF9C;
  font-size: 11px;
  line-height: 1.75;
}

.service-edit-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding-top: 9px;
}

.service-edit-actions .dashboard-btn {
  min-height: 48px;
  width: 100%;
}

/* ==========================================
   30. MENSAGENS E RODAPÃƒâ€°
========================================== */

.dashboard-toast {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 180;
  max-width: min(390px, calc(100vw - 44px));
  padding: 16px 20px;
  border: 1px solid rgba(232, 124, 50, .4);
  border-radius: 11px;
  background: #33261E;
  color: #F9D4B8;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
  font-size: 12px;
  line-height: 1.6;
}

.dashboard-bottom-note {
  margin-top: 29px;
  color: #858585;
  font-size: 11px;
  line-height: 1.7;
}

/* ==========================================
   31. RESPONSIVIDADE Ã¢â‚¬â€ DESKTOP MENOR
========================================== */

@media (max-width: 1250px) {

  .dashboard-stats-grid {
    grid-template-columns: repeat(
      3,
      minmax(0, 1fr)
    );
  }

}

/* ==========================================
   32. RESPONSIVIDADE Ã¢â‚¬â€ TABLETS
========================================== */

@media (max-width: 1100px) {

  .dashboard-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 101;
    width: 265px;
    height: 100dvh;
    transform: translateX(-105%);
    transition: transform .25s;
    box-shadow: 15px 0 40px rgba(0, 0, 0, .3);
  }

  .dashboard-sidebar.is-open {
    transform: translateX(0);
  }

  .sidebar-close {
    display: block;
  }

  .sidebar-overlay:not([hidden]) {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: block;
    width: 100%;
    border: 0;
    background: rgba(0, 0, 0, .7);
  }

  .dashboard-menu-button {
    display: block;
  }

  .dashboard-content {
    padding: 31px 25px;
  }

  .dashboard-topbar {
    padding: 13px 25px;
  }

  .dashboard-agenda-layout {
    grid-template-columns: 1fr;
  }

}

/* ==========================================
   33. RESPONSIVIDADE Ã¢â‚¬â€ LOGIN EM TABLETS
========================================== */

@media (max-width: 1000px) {

  .admin-login-layout {
    grid-template-columns: 1fr;
    gap: 45px;
    width: min(90%, 650px);
  }

  .admin-main {
    align-items: flex-start;
    padding: 40px 0 65px;
  }

  .admin-introduction-content {
    max-width: 100%;
  }

  .admin-introduction h1 {
    font-size: clamp(38px, 5.5vw, 52px);
  }

  .admin-introduction-description {
    max-width: 620px;
  }

  .admin-feature-list {
    display: grid;
    grid-template-columns: repeat(
      3,
      minmax(0, 1fr)
    );
    gap: 18px;
    margin-top: 35px;
  }

  .admin-feature {
    flex-direction: column;
    gap: 12px;
  }

  .admin-feature-text strong {
    font-size: 14px;
  }

  .admin-feature-text p {
    font-size: 12px;
  }

  .admin-introduction-note {
    margin-top: 28px;
  }

  .admin-login-card {
    max-width: 560px;
  }

}

/* ==========================================
   34. RESPONSIVIDADE Ã¢â‚¬â€ TABLETS MENORES
========================================== */

@media (max-width: 750px) {

  .dashboard-stats-grid {
    grid-template-columns: repeat(
      2,
      minmax(0, 1fr)
    );
  }

  .dashboard-overview-bottom {
    grid-template-columns: 1fr;
  }

  .dashboard-demo-label {
    display: none;
  }

  .admin-services-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-card-heading {
    flex-wrap: wrap;
  }

  .dashboard-heading-actions {
    justify-content: flex-start;
    width: 100%;
  }

  .admin-add-service-button {
    flex-shrink: 1;
  }

}

/* ==========================================
   35. RESPONSIVIDADE Ã¢â‚¬â€ CELULARES
========================================== */

@media (max-width: 600px) {

  /* LOGIN */

  .admin-header {
    padding: 16px 0;
  }

  .admin-header-container {
    width: 90%;
    gap: 12px;
  }

  .admin-logo-name {
    font-size: 20px;
  }

  .admin-logo small {
    font-size: 7px;
    letter-spacing: 3px;
  }

  .admin-back-link {
    gap: 6px;
    padding: 10px 12px;
    font-size: 11px;
    white-space: nowrap;
  }

  .admin-back-link svg {
    width: 15px;
    height: 15px;
  }

  .admin-main {
    padding: 35px 0 55px;
  }

  .admin-login-layout {
    width: 90%;
    gap: 35px;
  }

  .admin-eyebrow {
    font-size: 10px;
    letter-spacing: 2px;
  }

  .admin-introduction h1 {
    margin-top: 16px;
    font-size: clamp(32px, 8vw, 42px);
    letter-spacing: -1px;
  }

  .admin-introduction-description {
    margin-top: 17px;
    font-size: 14px;
    line-height: 1.8;
  }

  .admin-feature-list {
    grid-template-columns: 1fr;
    gap: 19px;
    margin-top: 30px;
  }

  .admin-feature {
    flex-direction: row;
    gap: 14px;
  }

  .admin-feature-icon {
    flex-basis: 42px;
    width: 42px;
    height: 42px;
    border-radius: 11px;
  }

  .admin-feature-icon svg {
    width: 21px;
    height: 21px;
  }

  .admin-feature-text {
    padding-top: 1px;
  }

  .admin-feature-text strong {
    margin-bottom: 5px;
    font-size: 13px;
  }

  .admin-feature-text p {
    font-size: 12px;
  }

  .admin-introduction-note {
    margin-top: 27px;
  }

  .admin-login-card {
    padding: 27px 21px;
    border-radius: 18px;
  }

  .admin-login-symbol {
    width: 56px;
    height: 56px;
    margin-bottom: 20px;
    border-radius: 16px;
  }

  .admin-login-symbol svg {
    width: 27px;
    height: 27px;
  }

  .admin-login-card h2 {
    font-size: 25px;
  }

  .admin-login-description {
    font-size: 12px;
  }

  .admin-demo-notice {
    margin-top: 23px;
    padding: 12px;
  }

  .admin-demo-credentials {
    padding: 15px;
  }

  .admin-demo-credentials-heading {
    flex-direction: column;
    gap: 5px;
  }

  .admin-login-form {
    gap: 18px;
    margin-top: 25px;
  }

  .admin-input-wrapper input {
    min-height: 50px;
    font-size: 13px;
  }

  .admin-login-button {
    min-height: 51px;
    font-size: 13px;
  }

  .admin-login-security {
    margin-top: 24px;
    padding-top: 18px;
  }

  .admin-footer-container {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  /* DASHBOARD */

  .dashboard-topbar {
    min-height: 67px;
    padding: 12px 15px;
  }

  .dashboard-topbar-left,
  .dashboard-topbar-actions {
    gap: 12px;
  }

  .dashboard-content {
    padding: 26px 15px;
  }

  .dashboard-trail {
    gap: 9px;
    margin-bottom: 22px;
    font-size: 11px;
  }

  .dashboard-trail-home {
    font-size: 11px;
  }

  .dashboard-trail-home svg {
    width: 14px;
    height: 14px;
  }

  .dashboard-page-heading {
    align-items: flex-start;
  }

  .dashboard-page-heading h1 {
    font-size: 29px;
  }

  .dashboard-heading-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .dashboard-heading-actions .dashboard-btn {
    width: 100%;
  }

  /* INDICADORES */

  .dashboard-stats-grid {
    gap: 10px;
  }

  .dashboard-stat-card {
    padding: 17px 13px;
    border-radius: 12px;
  }

  .dashboard-stat-link {
    min-height: 175px;
  }

  .dashboard-stat-card strong {
    font-size: 29px;
  }

  .dashboard-stat-top,
  .dashboard-stat-card small,
  .dashboard-stat-action {
    font-size: 10px;
  }

  /* CARDS */

  .dashboard-section-card {
    padding: 17px 14px;
  }

  .dashboard-card-heading h2 {
    font-size: 16px;
  }

  .dashboard-overview-bottom {
    gap: 15px;
    margin-top: 15px;
  }

  .overview-requests-actions {
    justify-content: flex-start;
  }

  .dashboard-form-grid,
  .requests-toolbar {
    grid-template-columns: 1fr;
  }

  .dashboard-field-full {
    grid-column: auto;
  }

  /* AGENDA */

  .dashboard-agenda-layout {
    gap: 15px;
  }

  .admin-calendar-weekdays,
  .admin-calendar-days {
    gap: 4px;
  }

  .admin-calendar-day {
    font-size: 11px;
    border-radius: 6px;
  }

  .admin-calendar-header strong {
    font-size: 15px;
  }

  .admin-calendar-legend {
    gap: 13px;
  }

  .admin-calendar-legend span {
    font-size: 10px;
  }

  /* BLOQUEIOS */

  .dashboard-blocks-card {
    margin-top: 15px;
  }

  .admin-block-item {
    align-items: flex-start;
    padding: 14px;
  }

  .admin-block-actions {
    width: 100%;
  }

  .admin-block-remove {
    width: 100%;
  }

  .agenda-block-hours {
    grid-template-columns: 1fr;
  }

  /* CONFIGURAÃƒâ€¡ÃƒÆ’O SEMANAL */

  .dashboard-weekly-schedule {
    gap: 10px;
  }

  .dashboard-weekday-row {
    gap: 14px;
    padding: 16px 14px;
    border-radius: 10px;
  }

  .dashboard-weekday-header {
    gap: 12px;
  }

  .dashboard-weekday-name {
    font-size: 13px;
  }

  .dashboard-weekday-status {
    font-size: 10px;
  }

  .dashboard-weekday-toggle-label {
    font-size: 11px;
  }

  .dashboard-weekday-hours {
    grid-template-columns: repeat(
      2,
      minmax(0, 1fr)
    );
    gap: 10px;
  }

  .dashboard-weekday-hours select {
    min-height: 46px;
    padding: 10px;
    font-size: 12px;
  }

  .dashboard-settings-description {
    margin-bottom: 22px;
    font-size: 11px;
  }

  .dashboard-settings-subheading {
    font-size: 15px;
  }

  /* NOVO BOTÃƒÆ’O DE SERVIÃƒâ€¡OS */

  .admin-add-service-button {
    width: 100%;
    min-height: 46px;
  }

  .admin-add-service-plus {
    font-size: 19px;
  }

  /* MODAIS */

  .dashboard-modal-backdrop {
    padding: 12px;
  }

  .dashboard-modal {
    padding: 19px 15px;
  }

  .dashboard-modal-data > div {
    flex-direction: column;
    gap: 5px;
  }

  .dashboard-modal-data dd {
    max-width: 100%;
    text-align: left;
  }

  .dashboard-modal-actions {
    justify-content: stretch;
  }

  .dashboard-modal-actions .dashboard-btn {
    flex: 1;
  }

  .admin-request-secondary {
    justify-content: flex-start;
  }

  /* NOVO MODAL ADICIONAR SERVIÃƒâ€¡O */

  .service-add-modal {
    width: 100%;
    padding: 21px 17px;
    border-radius: 15px;
  }

  .service-add-description {
    font-size: 11px;
  }

  .service-add-form {
    gap: 18px;
    margin-top: 21px;
  }

  .service-add-active-row {
    padding: 14px;
  }

  .service-add-form .dashboard-form-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .service-add-form .dashboard-form-actions
  .dashboard-btn {
    width: 100%;
    min-height: 46px;
  }

  /* MODAL EDITAR SERVIÃƒâ€¡O */

  .service-edit-modal {
    padding: 24px 19px;
    border-radius: 15px;
  }

  .service-edit-header h2 {
    font-size: 21px;
  }

  .service-edit-actions {
    gap: 9px;
  }

  .service-edit-actions .dashboard-btn {
    padding: 12px 8px;
    font-size: 11px;
  }

}

/* ==========================================
   36. CELULARES MUITO ESTREITOS
========================================== */

@media (max-width: 360px) {

  .admin-logo-name {
    font-size: 18px;
  }

  .admin-back-link {
    padding: 9px 10px;
    font-size: 10px;
  }

  .admin-introduction h1 {
    font-size: 31px;
  }

  .admin-login-card {
    padding: 24px 16px;
  }

  .admin-login-card h2 {
    font-size: 22px;
  }

  .dashboard-stats-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-weekday-header {
    align-items: flex-start;
  }

  .dashboard-weekday-hours {
    grid-template-columns: 1fr;
  }

  .service-add-modal {
    padding: 18px 13px;
  }

  .service-add-active-row {
    gap: 10px;
  }

}

/* ==========================================
   37. ACESSIBILIDADE
========================================== */

@media (prefers-reduced-motion: reduce) {

  html {
    scroll-behavior: auto;
  }

  .admin-back-link,
  .admin-input-wrapper input,
  .admin-login-button,
  .admin-demo-fill-button,
  .dashboard-sidebar,
  .dashboard-trail-home,
  .dashboard-stat-link,
  .dashboard-stat-arrow,
  .dashboard-btn,
  .dashboard-weekday-row,
  .dashboard-weekday-switch,
  .dashboard-weekday-switch::after,
  .admin-add-service-plus {
    transition: none;
  }

}

/* ==========================================
   FIM DO ADMIN.CSS
   LUME AGENDA Ã¢â‚¬â€ VÃƒâ€°RTICE AUTO DETAIL
========================================== */


/* ==========================================
   38. LUME AGENDA - ATUALIZACAO DO DASHBOARD
   COMPATIBILIDADE COM O HTML DA ETAPA 27
========================================== */

/* Visao geral: dados de funcionamento */
.dashboard-operating-card .dashboard-quick-info{display:grid;gap:0;margin:0 0 18px}
.dashboard-quick-info-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-bottom:1px solid #3a3a3a}
.dashboard-quick-info-item:last-child{border-bottom:0}
.dashboard-quick-info-label{display:flex;align-items:center;gap:11px;min-width:0;color:#bdbdbd;font-size:12px}
.dashboard-quick-info-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:9px;background:rgba(232,124,50,.1);color:var(--admin-orange);font-size:19px}
.dashboard-quick-info-item strong{color:var(--admin-white);font-size:12px;text-align:right;overflow-wrap:anywhere}
.dashboard-operating-link{margin-top:8px}

/* Calendario: classes efetivamente geradas pelo dashboard.js */
.dashboard-calendar{width:100%;min-width:0}
.dashboard-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px}
.dashboard-calendar-header h3{margin:0;font:700 17px/1.4 var(--admin-font-title);color:var(--admin-white);text-align:center;text-transform:capitalize}
.dashboard-calendar-header button{display:grid;place-items:center;flex-shrink:0;width:36px;height:36px;padding:0;border:1px solid #555;border-radius:8px;background:#2c2c2c;color:#fff;font-size:23px;cursor:pointer}
.dashboard-calendar-header button:hover{border-color:var(--admin-orange);color:var(--admin-orange)}
.dashboard-calendar-weekdays,.dashboard-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.dashboard-calendar-weekdays{margin-bottom:10px}
.dashboard-calendar-weekdays span{display:grid;place-items:center;padding:7px 0;color:#aaa;font-size:11px;font-weight:600}
.dashboard-calendar-blank{min-width:0;aspect-ratio:1}
.dashboard-calendar-day{position:relative;display:grid;place-items:center;width:100%;min-width:0;aspect-ratio:1;padding:4px;border:1px solid #404040;border-radius:9px;background:#2b2b2b;color:#fff;font-size:12px;cursor:pointer;transition:background .2s,border-color .2s}
.dashboard-calendar-day:hover{border-color:var(--admin-orange)}
.dashboard-calendar-day.is-closed{border-color:#343434;background:#202020;color:#888}
.dashboard-calendar-day.is-selected{border-color:var(--admin-orange);background:var(--admin-orange);color:#141414;font-weight:800}
.dashboard-calendar-day.has-bookings::after{content:"";position:absolute;bottom:5px;left:50%;width:5px;height:5px;border-radius:50%;background:var(--admin-orange);transform:translateX(-50%)}
.dashboard-calendar-day.has-bookings.is-selected::after{background:#141414}
.dashboard-calendar-day:focus-visible,.dashboard-calendar-header button:focus-visible{outline:2px solid var(--admin-orange);outline-offset:2px}

/* Botao Bloquear agenda e cabecalhos */
.dashboard-page-heading .dashboard-heading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}
.dashboard-block-open{display:inline-flex;align-items:center;gap:8px}
.dashboard-block-open svg{width:18px;height:18px;flex-shrink:0}
.dashboard-blocks-card{margin-top:23px}
.dashboard-blocks-card #agenda-blocks-list{min-width:0}

/* Modal: nova estrutura usada no dashboard.html */
.dashboard-page .dashboard-modal{position:fixed;inset:0;z-index:180;display:grid;place-items:center;width:100%;max-width:none;max-height:none;height:100%;overflow-y:auto;padding:20px;background:rgba(0,0,0,.78);border:0;border-radius:0;box-shadow:none}
.dashboard-page .dashboard-modal[hidden]{display:none!important}
.dashboard-modal-overlay{position:absolute;inset:0;background:transparent}
.dashboard-modal-content{position:relative;z-index:1;width:min(100%,570px);max-height:min(90vh,850px);overflow-y:auto;padding:26px;border:1px solid #505050;border-radius:18px;background:#242424;box-shadow:0 22px 80px rgba(0,0,0,.6)}
.dashboard-modal-body{padding:20px 0}
.dashboard-modal-description{margin:0 0 20px;color:#b7b7b7;font-size:12px;line-height:1.75}
.dashboard-modal .dashboard-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.dashboard-modal .dashboard-form-error{margin-top:14px}
.dashboard-modal .dashboard-modal-actions{padding-top:18px}
.dashboard-modal .dashboard-field input,.dashboard-modal .dashboard-field select,.dashboard-modal .dashboard-field textarea{background:#292929}

/* Campos de data: abertura pelo clique sera habilitada no dashboard.js */
.dashboard-date-picker{cursor:pointer;color-scheme:dark}
.dashboard-date-picker:focus{border-color:var(--admin-orange)}
.dashboard-date-picker::-webkit-calendar-picker-indicator{cursor:pointer}

/* Controles semanais: compacidade sem perder legibilidade */
.dashboard-weekly-list{display:flex;flex-direction:column;gap:12px}
.dashboard-weekday-row{padding:14px 16px;gap:12px}
.dashboard-weekday-header{gap:12px;min-height:30px}
.dashboard-weekday-switch{width:40px;height:23px}
.dashboard-weekday-switch::after{width:16px;height:16px;top:2px;left:2px}
.dashboard-weekday-toggle input:checked + .dashboard-weekday-switch::after{transform:translateX(17px)}
.dashboard-weekday-hours select{min-height:40px;padding:9px 12px}

@media(max-width:1100px){.dashboard-agenda-layout{grid-template-columns:1fr}}
@media(max-width:600px){
  .dashboard-calendar-header h3{font-size:15px}
  .dashboard-calendar-header button{width:34px;height:34px}
  .dashboard-calendar-weekdays,.dashboard-calendar-days{gap:4px}
  .dashboard-calendar-weekdays span{font-size:10px}
  .dashboard-calendar-day{border-radius:7px;font-size:11px}
  .dashboard-modal-content{padding:19px}
  .dashboard-modal .dashboard-form-grid{grid-template-columns:1fr}
  .dashboard-page-heading .dashboard-heading-actions{width:100%;justify-content:stretch}
  .dashboard-page-heading .dashboard-heading-actions .dashboard-btn{flex:1 1 160px}
  .dashboard-quick-info-item{align-items:flex-start}
}
@media(max-width:380px){.dashboard-calendar-weekdays,.dashboard-calendar-days{gap:3px}.dashboard-calendar-day{font-size:10px}}


/* Ajustes finais: campos de data e configuracao semanal */
/* Chromium: remove o fundo azul ao focar os segmentos dia/mes/ano. */
input[type="date"]::-webkit-datetime-edit-day-field:focus,
input[type="date"]::-webkit-datetime-edit-month-field:focus,
input[type="date"]::-webkit-datetime-edit-year-field:focus,
input[type="date"]::-webkit-datetime-edit-text:focus {
  background-color: transparent !important;
  color: inherit !important;
  outline: none !important;
}
input[type="date"]::selection { background: transparent; color: inherit; }
input[type="date"] { accent-color: #f5822a; }

/* Os tres filhos sao gerados pelo renderWeeklyHours() no dashboard.js. */
#weekly-hours-list.dashboard-weekly-list,
#weekly-hours-list.dashboard-weekly-schedule,
#weekly-hours-list { display: flex; flex-direction: column; gap: 10px; }
#weekly-hours-list .dashboard-weekday-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 12px 14px;
  padding: 16px 18px;
  align-items: end;
  min-width: 0;
}
#weekly-hours-list .dashboard-weekday-open-label {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  min-width: 0;
  cursor: pointer;
}
#weekly-hours-list .dashboard-weekday-row > .dashboard-field:not(.dashboard-weekday-open-label) {
  display: flex;
  flex-direction: column;
  gap: 7px;
  margin: 0;
  min-width: 0;
}
#weekly-hours-list .dashboard-weekday-row input[type="time"] {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: 42px;
  padding: 9px 12px;
}
#weekly-hours-list input.dashboard-weekday-checkbox {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  display: block;
  flex: 0 0 42px;
  width: 42px;
  min-width: 42px;
  height: 24px;
  min-height: 24px;
  margin: 0;
  padding: 0;
  border: 1px solid #656565;
  border-radius: 99px;
  background: #4b4b4b;
  cursor: pointer;
  opacity: 1;
  box-shadow: none;
  transition: background .15s ease,border-color .15s ease;
}
#weekly-hours-list input.dashboard-weekday-checkbox::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #fff;
  transition: transform .15s ease;
}
#weekly-hours-list input.dashboard-weekday-checkbox:checked {
  background: #f5822a;
  border-color: #f5822a;
}
#weekly-hours-list input.dashboard-weekday-checkbox:checked::after {
  transform: translateX(18px);
}
#weekly-hours-list input.dashboard-weekday-checkbox:focus-visible {
  outline: 2px solid #f5822a;
  outline-offset: 3px;
}
@media(max-width: 520px) {
  #weekly-hours-list .dashboard-weekday-row { padding: 13px 12px; gap: 10px; }
  #weekly-hours-list .dashboard-weekday-row input[type="time"] { padding: 8px; }
}


/* Calendario Lume: sem realce azul nativo do Chrome */
.dashboard-page .lume-date-trigger {
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  width:100%;min-height:45px;padding:11px 14px;
  border:1px solid #4b4b4b;border-radius:9px;background:#292929;
  color:#aaa;text-align:left;font:inherit;font-size:13px;cursor:pointer;
}
.dashboard-page .lume-date-trigger.has-date{color:#fff}
.dashboard-page .lume-date-trigger::after{content:"";flex:none;width:16px;height:16px;background:currentColor;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='black' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18'/%3E%3C/svg%3E") center/contain no-repeat;
}
.dashboard-page .lume-date-trigger:hover,.dashboard-page .lume-date-trigger:focus-visible{border-color:#f5822a;outline:none}
.lume-date-popover{position:fixed;z-index:9999;box-sizing:border-box;padding:14px;border:1px solid #555;
  border-radius:12px;background:#292929;color:white;box-shadow:0 15px 45px rgba(0,0,0,.65);font-family:inherit}
.lume-date-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}
.lume-date-heading strong{font-size:13px;text-transform:capitalize;text-align:center}
.lume-date-heading button,.lume-date-footer button{border:0;background:transparent;color:#f5822a;font:inherit;cursor:pointer;padding:6px 9px}
.lume-date-heading button{font-size:25px;line-height:1}
.lume-date-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.lume-date-weekdays{margin-bottom:5px;color:#bbb;text-align:center;font-size:11px}
.lume-date-weekdays span{padding:7px 0}
.lume-date-day{display:grid;place-items:center;min-width:0;min-height:35px;border:1px solid transparent;
  border-radius:7px;background:transparent;color:#f5f5f5;font:inherit;font-size:12px;cursor:pointer}
.lume-date-day:hover:not(:disabled){border-color:#f5822a;color:#f5822a}
.lume-date-day.is-today:not(.is-selected){border-color:#666}
.lume-date-day.is-selected{background:#f5822a;color:#171717;font-weight:800}
.lume-date-day:disabled{color:#686868;cursor:not-allowed}
.lume-date-day:focus-visible,.lume-date-heading button:focus-visible,.lume-date-footer button:focus-visible{outline:2px solid #f5822a;outline-offset:1px}
.lume-date-footer{display:flex;justify-content:space-between;gap:12px;margin-top:9px;padding-top:8px;border-top:1px solid #444}
.lume-date-footer button:disabled{opacity:.4;cursor:not-allowed}


/* Configuracoes: os horarios podem ser ajustados mesmo com o dia fechado. */
#weekly-hours-list .dashboard-weekday-row.is-closed input[type="time"] {
  opacity:1; cursor:text; color:#f5f5f5; -webkit-text-fill-color:#f5f5f5;
}
#weekly-hours-list .dashboard-weekday-row input[type="time"]:focus {
  outline:2px solid rgba(245,130,42,.45); outline-offset:1px; border-color:#f5822a;
}

/* Restauracao: card de acao secundaria compacto e legivel. */
#view-settings .dashboard-section-card:has(#demo-reset-button) {
  padding:23px 26px; border-color:#3b3b3b; background:#202020;
}
#view-settings .dashboard-section-card:has(#demo-reset-button) .dashboard-card-heading {
  margin-bottom:13px;
}
#view-settings .dashboard-section-card:has(#demo-reset-button) .dashboard-card-heading h2 {
  font-size:17px; margin:0;
}
#view-settings .dashboard-section-card:has(#demo-reset-button) .dashboard-card-heading p {
  margin-top:5px; line-height:1.5;
}
#view-settings .dashboard-reset-info {
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px 24px;
  align-items:center; padding:0; margin:0;
}
#view-settings .dashboard-reset-info p {
  grid-column:1; margin:0; max-width:760px; color:#adadad;
  font-size:12px; font-weight:400; line-height:1.65;
}
#view-settings .dashboard-reset-info p strong {
  color:#f6c28d; font-weight:700;
}
#view-settings .dashboard-reset-info #demo-reset-button {
  grid-column:2; grid-row:1 / span 2; justify-self:end; align-self:center;
  min-height:42px; white-space:nowrap; padding:10px 17px;
  background:transparent; border:1px solid #6b5550; color:#e6b5a3;
  border-radius:9px; font-weight:650;
}
#view-settings .dashboard-reset-info #demo-reset-button:hover {
  background:#362822; color:#fff0e7; border-color:#e18a62;
}
@media(max-width:850px) {
  #view-settings .dashboard-reset-info {grid-template-columns:minmax(0,1fr); gap:12px;}
  #view-settings .dashboard-reset-info p {grid-column:1;}
  #view-settings .dashboard-reset-info #demo-reset-button {
    grid-column:1; grid-row:auto; justify-self:start;
  }
}


/* ConfiguraÃƒÂ§ÃƒÂµes: seleÃƒÂ§ÃƒÂ£o de horÃƒÂ¡rio sem segmento nativo destacado em azul. */
#weekly-hours-list .dashboard-weekday-row select.weekly-start,
#weekly-hours-list .dashboard-weekday-row select.weekly-end {
  display:block;
  width:100%;
  min-width:0;
  height:46px;
  padding:10px 38px 10px 14px;
  box-sizing:border-box;
  background-color:#292929;
  color:#f8f8f8;
  border:1px solid #494949;
  border-radius:9px;
  font-family:inherit;
  font-size:13px;
  font-weight:650;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23dedede' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
}
#weekly-hours-list .dashboard-weekday-row select.weekly-start:focus,
#weekly-hours-list .dashboard-weekday-row select.weekly-end:focus {
  outline:2px solid rgba(245,130,42,.4);
  outline-offset:1px;
  border-color:#f5822a;
}
#weekly-hours-list .dashboard-weekday-row select option {
  color:#f8f8f8;
  background:#292929;
}
#weekly-hours-list .dashboard-weekday-row.is-closed select.weekly-start,
#weekly-hours-list .dashboard-weekday-row.is-closed select.weekly-end {
  opacity:1;
  cursor:pointer;
}

/* Listas de horÃƒÂ¡rios personalizadas: opÃƒÂ§ÃƒÂ£o selecionada e hover em laranja. */
#weekly-hours-list .lume-time-control {position:relative;width:100%;min-width:0;}
#weekly-hours-list .lume-time-native-value {position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important;}
#weekly-hours-list .lume-time-trigger {display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;padding:10px 14px;background:#292929;border:1px solid #494949;border-radius:9px;color:#f8f8f8;font-family:inherit;font-size:13px;font-weight:650;cursor:pointer;text-align:left;}
#weekly-hours-list .lume-time-trigger:after {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  margin-left: 12px;
  flex-shrink: 0;
  border-right: 2px solid #dedede;
  border-bottom: 2px solid #dedede;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .15s ease;
}
#weekly-hours-list .lume-time-control.is-open .lume-time-trigger:after {
  transform: rotate(225deg) translateY(-2px);
}
#weekly-hours-list .lume-time-trigger:hover,#weekly-hours-list .lume-time-trigger:focus-visible,#weekly-hours-list .lume-time-control.is-open .lume-time-trigger {border-color:#f5822a;outline:none;}
#weekly-hours-list .lume-time-menu {position:absolute;z-index:200;top:calc(100% + 4px);left:0;width:100%;max-height:230px;overflow-y:auto;padding:4px;background:#262626;border:1px solid #f5822a;border-radius:9px;box-shadow:0 12px 30px #0009;}
#weekly-hours-list .lume-time-menu[hidden] {display:none!important;}
#weekly-hours-list .lume-time-option {display:block;width:100%;border:0;border-radius:6px;padding:9px 12px;background:transparent;color:#f5f5f5;font:600 13px Arial,sans-serif;text-align:left;cursor:pointer;}
#weekly-hours-list .lume-time-option:hover,#weekly-hours-list .lume-time-option:focus-visible {background:#f5822a;color:#171717;outline:none;}
#weekly-hours-list .lume-time-option[aria-selected="true"] {background:#5e351c;color:#ffad69;}
#weekly-hours-list .lume-time-option[aria-selected="true"]:hover {background:#f5822a;color:#171717;}


/* Agenda: estados distintos por forma, alÃƒÂ©m da cor. */
.dashboard-calendar-day.is-today:not(.is-selected){outline:2px solid #f5822a;outline-offset:-3px}
.dashboard-calendar-day.is-blocked-full:not(.is-selected){background:#352625;border-color:#c8645e;color:#fff}
.dashboard-calendar-day.is-blocked-partial:not(.is-selected){background:#352e23;border-color:#dfa24d;color:#fff}
.dashboard-calendar-day.is-selected{background:#f5822a;border-color:#f5822a;color:#151515}
.dashboard-calendar-day .lume-calendar-block-symbol{position:absolute;right:4px;top:4px;display:block;width:10px;height:10px;pointer-events:none}
.dashboard-calendar-day .lume-block-full{border:1.8px solid #f18a82;border-radius:50%}
.dashboard-calendar-day .lume-block-full::after{content:"";position:absolute;left:0;top:3px;width:7px;border-top:1.8px solid #f18a82;transform:rotate(-45deg);transform-origin:center}
.dashboard-calendar-day .lume-block-partial{border:1.8px solid #e8aa55;border-radius:50%}
.dashboard-calendar-day .lume-block-partial::after{content:"";position:absolute;left:4px;top:1px;height:4px;border-left:1.5px solid #e8aa55;transform:rotate(30deg);transform-origin:bottom}
.dashboard-calendar-day.is-selected .lume-calendar-block-symbol{filter:brightness(.52)}
.lume-agenda-legend{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:18px;padding-top:13px;border-top:1px solid #3b3b3b}
.lume-legend-item{display:inline-flex;align-items:center;gap:7px;color:#bbb;font-size:11px;line-height:1.4}
.lume-legend-symbol{display:inline-block;position:relative;flex:0 0 12px;width:12px;height:12px}
.lume-legend-dot::after{content:"";position:absolute;left:3px;top:3px;width:6px;height:6px;border-radius:50%;background:#f5822a}
.lume-legend-full{border:2px solid #f18a82;border-radius:50%}
.lume-legend-full::after{content:"";position:absolute;top:4px;left:0;width:8px;border-top:2px solid #f18a82;transform:rotate(-45deg)}
.lume-legend-partial{border:2px solid #e8aa55;border-radius:50%}
.lume-legend-partial::after{content:"";position:absolute;left:4px;top:1px;height:5px;border-left:2px solid #e8aa55;transform:rotate(30deg);transform-origin:bottom}
.lume-legend-today{border:2px solid #f5822a;border-radius:3px}
.lume-legend-selected{background:#f5822a;border-radius:3px}
#agenda-day-bookings .lume-agenda-booking-row{display:grid;grid-template-columns:60px minmax(0,1fr);column-gap:12px;row-gap:10px;align-items:start;padding:17px 0;border-bottom:1px solid #383838}
#agenda-day-bookings .lume-agenda-booking-row:last-child{border-bottom:0}
.lume-agenda-booking-time{display:inline-block;font-weight:800;font-size:17px;color:#f5822a;line-height:1.4;white-space:nowrap}
.lume-agenda-booking-detail{min-width:0}.lume-agenda-booking-detail strong{font-weight:750;color:#f8f8f8;font-size:13px}
.lume-agenda-booking-detail p{margin:5px 0 0;color:#aaa;font-size:12px;line-height:1.45}
.lume-agenda-booking-actions{grid-column:2;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
#agenda-blocks-list.lume-blocks-empty .dashboard-empty{margin:0;padding:12px 16px;border:1px dashed #404040;border-radius:9px;color:#aaa;font-size:12px;text-align:center;min-height:0}
@media(max-width:480px){.lume-agenda-legend{gap:10px}.lume-legend-item{font-size:10px}#agenda-day-bookings .lume-agenda-booking-row{grid-template-columns:52px minmax(0,1fr)}}

/* Menus dos bloqueios: campo visual e painel sempre abaixo, sem azul nativo. */
#block-modal .lume-block-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}
#block-modal .lume-block-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:47px;padding:11px 14px;background:#292929;border:1px solid #505050;border-radius:9px;color:#f8f8f8;font-family:inherit;font-size:13px;font-weight:600;text-align:left;cursor:pointer}
#block-modal .lume-block-select-trigger:hover,#block-modal .lume-block-select-trigger:focus-visible,#block-modal .lume-block-select-trigger[aria-expanded="true"]{border-color:#f5822a;outline:none}
#block-modal .lume-block-select-trigger::after{content:"";display:block;width:8px;height:8px;flex:none;margin-left:12px;border-right:2px solid #ddd;border-bottom:2px solid #ddd;transform:rotate(45deg) translateY(-2px)}
#block-modal .lume-block-select-trigger[aria-expanded="true"]::after{transform:rotate(225deg)}
.lume-block-select-menu{position:fixed;z-index:10050;box-sizing:border-box;overflow-y:auto;padding:5px;background:#262626;border:1px solid #f5822a;border-radius:9px;box-shadow:0 14px 34px #000b}
.lume-block-select-option{display:block;width:100%;border:0;border-radius:6px;padding:10px 12px;background:transparent;color:#f5f5f5;font:600 13px Arial,sans-serif;text-align:left;cursor:pointer}
.lume-block-select-option:hover,.lume-block-select-option:focus-visible{background:#f5822a;color:#171717;outline:none}
.lume-block-select-option[aria-selected="true"]{background:#59351f;color:#ffb17c}
.lume-block-select-option[aria-selected="true"]:hover{background:#f5822a;color:#171717}

/* SolicitaÃƒÂ§ÃƒÂµes: filtros, horÃƒÂ¡rio e detalhes do agendamento */
#view-requests .dashboard-request-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:end}
#view-requests .dashboard-request-filters>.dashboard-field{min-width:0;margin:0}
#view-requests .dashboard-results-count{font-size:12px;color:#aaa;margin:16px 0 0}
#view-requests .admin-request-row{padding:20px 0}
#view-requests .admin-request-primary p{margin:3px 0}
.lume-request-time{display:inline-flex;align-items:center;gap:6px;color:#f5822a;font-weight:700;font-size:13px;margin-top:5px}
.lume-request-time::before{content:"";display:block;width:12px;height:12px;border:2px solid #f5822a;border-radius:50%;box-sizing:border-box}
#view-requests .admin-status-rejected{background:rgba(190,65,65,.12);border-color:#b95959;color:#ef9898}
#view-requests .lume-requests-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
#view-requests .dashboard-request-filters>.dashboard-field:has(.lume-requests-trigger){position:relative}
.lume-requests-trigger{width:100%;min-height:48px;display:flex;justify-content:space-between;align-items:center;text-align:left;padding:12px 15px;color:#fff;background:#292929;border:1px solid #505050;border-radius:9px;font:inherit;cursor:pointer}
.lume-requests-trigger::after{content:"";height:8px;width:8px;border-right:2px solid #f5822a;border-bottom:2px solid #f5822a;transform:rotate(45deg);margin-left:12px;margin-top:-4px}
.lume-requests-trigger:hover,.lume-requests-trigger:focus-visible{border-color:#f5822a;outline:none}
.lume-requests-menu{position:fixed;z-index:500;background:#252525;border:1px solid #5a5a5a;border-radius:10px;padding:6px;overflow-y:auto;box-shadow:0 12px 32px #0009}
.lume-requests-option{display:block;width:100%;padding:11px 12px;text-align:left;background:transparent;color:white;border:0;border-radius:6px;cursor:pointer;font:inherit}
.lume-requests-option:hover,.lume-requests-option:focus-visible,.lume-requests-option[aria-selected="true"]{background:#6a391e;color:#ffae72;outline:none}
#booking-modal .dashboard-modal-content{width:min(100%,610px)}
#booking-modal .dashboard-modal-body{padding:16px 0 22px}
.lume-booking-details{display:grid;gap:19px}
.lume-booking-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px;padding:19px 0;border-top:1px solid #444;border-bottom:1px solid #444}
.lume-booking-detail{display:flex;flex-direction:column;gap:6px;min-width:0;overflow-wrap:anywhere}
.lume-booking-detail-label{font-size:12px;color:#a9a9a9;font-weight:500}
.lume-booking-detail-value{font-size:14px;color:#f6f6f6;font-weight:650;line-height:1.45}
.lume-booking-accent .lume-booking-detail-value{color:#f5822a}
.lume-booking-meta{display:flex;align-items:start;justify-content:space-between;gap:20px}
.lume-booking-meta-item{display:flex;flex-direction:column;align-items:start;gap:9px}
.lume-booking-primary{background:#f5822a!important;color:#161616!important;border-color:#f5822a!important;font-weight:750}
.lume-booking-primary:hover{background:#ff9a50!important}
.lume-booking-danger{color:#f18b83!important;border:1px solid #b85d58!important;background:transparent!important}
.lume-booking-danger:hover{background:#432b29!important}
.lume-booking-ended{font-size:12px;color:#aaa;align-self:center}
#booking-modal .dashboard-modal-actions{align-items:center;gap:9px}
#booking-modal .dashboard-btn{min-height:40px;padding:10px 16px;border-radius:8px;cursor:pointer}
#booking-modal .lume-booking-close{margin-right:auto}
@media(max-width:680px){#view-requests .dashboard-request-filters{grid-template-columns:1fr}.lume-booking-details-grid{grid-template-columns:1fr 1fr}#booking-modal .dashboard-modal-actions{justify-content:flex-start}}

/* Lume Agenda Ã¢â‚¬â€ ajustes finais consolidados */
.lume-service-state{font-size:12px;color:#91d7aa;font-weight:700}.lume-service-state.is-inactive{color:#aaa}
.lume-service-switch{position:relative;flex:none;width:42px;height:24px;border:1px solid #555;border-radius:30px;background:#555;cursor:pointer;transition:background .15s}
.lume-service-switch[aria-checked="true"]{background:#f5822a;border-color:#f5822a}
.lume-service-switch:after{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:white;transition:transform .15s}
.lume-service-switch[aria-checked="true"]:after{transform:translateX(18px)}
.lume-service-switch:focus-visible,.lume-enhanced-trigger:focus-visible{outline:2px solid #f5822a;outline-offset:2px}
.lume-manual-service-summary{color:#f59b57;font-size:12px;margin-top:6px;font-weight:600}
.lume-enhanced-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)}
.lume-enhanced-trigger{width:100%;min-height:47px;border:1px solid #494949;border-radius:9px;background:#2c2c2c;color:#fff;text-align:left;padding:10px 40px 10px 15px;font:inherit;font-weight:600;cursor:pointer;position:relative}
.lume-enhanced-trigger:after{content:"";position:absolute;right:17px;top:43%;width:8px;height:8px;border-right:2px solid #ddd;border-bottom:2px solid #ddd;transform:rotate(45deg)}
.lume-enhanced-trigger[aria-expanded="true"]{border-color:#f5822a}
.lume-enhanced-menu{z-index:999999;background:#292929;border:1px solid #f5822a;border-radius:9px;overflow:auto;box-shadow:0 12px 30px #0009;padding:5px}
.lume-enhanced-option{display:block;width:100%;border:0;background:transparent;color:#fff;text-align:left;padding:10px 12px;border-radius:6px;font:inherit;cursor:pointer}
.lume-enhanced-option:hover,.lume-enhanced-option:focus-visible,.lume-enhanced-option[aria-selected="true"]{background:#f5822a;color:#171717;outline:0}
.lume-created-modal{position:fixed;inset:0;z-index:99999;background:#000b;display:grid;place-items:center;padding:18px}
.lume-created-panel{background:#242424;color:#fff;border:1px solid #505050;max-width:510px;width:100%;border-radius:18px;padding:28px;box-shadow:0 20px 50px #0008}
.lume-created-panel h2{margin:0 0 8px;font-size:24px}.lume-created-intro{font-size:13px;color:#aaa;margin:0 0 20px}
.lume-created-detail{display:flex;gap:18px;align-items:center;justify-content:space-between;border-bottom:1px solid #414141;padding:11px 0;font-size:13px}
.lume-created-detail span{color:#bbb}.lume-created-detail strong{text-align:right}
.lume-created-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:22px}
.lume-created-primary{background:#f5822a!important;color:#171717!important;border-color:#f5822a!important}
.lume-reset-card{line-height:1.5}.lume-reset-card p{max-width:72ch}
@media(max-width:640px){.lume-created-panel{padding:18px}.lume-created-actions>*{flex:1 1 100%}}

/* Permite rolar as opÃƒÂ§ÃƒÂµes dos seletores sem fechar o menu. */
.lume-enhanced-menu{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;}

/* LUME AGENDA â€” REFINAMENTO FINAL E MODAIS */
.lume-confirm-message{color:#d2d2d2;line-height:1.7;font-size:14px}
.lume-confirm-content{max-width:480px!important}
.lume-confirm-danger{background:#a9473e!important;border:1px solid #c95c50!important;color:#fff!important}
.lume-confirm-danger:hover{background:#bd5146!important}
.lume-booking-reschedule{background:#e87c32!important;color:#151515!important;border:1px solid #e87c32!important}
.lume-reschedule-summary{padding:12px 14px;border:1px solid rgba(232,124,50,.28);border-radius:10px;background:rgba(232,124,50,.08);color:#e8b894;line-height:1.6;margin-bottom:18px}
.lume-reschedule-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.lume-reschedule-fields .dashboard-field{min-width:0}
.lume-reschedule-fields input,.lume-reschedule-fields select{width:100%;min-width:0;background:#292929;color:#fff;border:1px solid #555;border-radius:9px;padding:12px}
.lume-reschedule-hint{color:#a9a9a9;font-size:12px;line-height:1.6;margin-top:15px}
#confirm-modal,#reschedule-modal{z-index:230}
@media(max-width:600px){
 .dashboard-page .dashboard-content{padding-top:16px!important}
 .dashboard-page .dashboard-page-heading{margin-bottom:18px!important;gap:12px!important}
 .dashboard-page .dashboard-page-heading h1{font-size:clamp(25px,7vw,32px)!important;margin-top:7px!important}
 .dashboard-page .dashboard-page-heading p{font-size:13px!important;line-height:1.5!important;margin-top:7px!important}
 .dashboard-page .dashboard-section-card{padding:16px!important}
 .dashboard-page .dashboard-stat-card{padding:13px!important;min-height:124px!important}
 .dashboard-page .dashboard-stat-card strong{font-size:27px!important}
 .dashboard-page .dashboard-stats-grid{gap:9px!important}
 .dashboard-page .dashboard-weekly-row{padding:12px!important;margin-bottom:7px!important}
 .dashboard-page .dashboard-calendar-day{min-height:38px!important}
 .dashboard-page .dashboard-modal-content{width:calc(100% - 12px)!important;padding:16px!important;max-height:calc(100dvh - 30px)!important}
 .dashboard-page .dashboard-modal-body{padding:13px 0!important}
 .dashboard-page .dashboard-modal-actions{gap:8px!important;flex-wrap:wrap!important}
 .dashboard-page #booking-modal .dashboard-modal-actions .dashboard-btn{flex:1 1 auto;min-width:86px;padding:11px 9px}
 .lume-reschedule-fields{grid-template-columns:1fr}
 #reschedule-modal .dashboard-modal-actions button{flex:1 1 100%}
 .dashboard-page .dashboard-request-row,.dashboard-page .admin-request-row{padding-block:10px!important}
}

/* Ajustes da revisÃ£o do reagendamento */
.lume-booking-complete{background:#26794c!important;border:1px solid #349b63!important;color:#fff!important}
.lume-booking-complete:hover{background:#32935d!important;border-color:#57b780!important}
#reschedule-modal .lume-enhanced-trigger{width:100%;min-width:0;text-align:left}
#reschedule-modal .dashboard-form-error:not([hidden]){display:block;color:#f1a47e;margin-top:12px}
#reschedule-modal .lume-date-trigger{width:100%}

/* LUME AGENDA â€” VISÃƒO GERAL COMPACTA EXCLUSIVA DO MOBILE */
@media (max-width: 600px) {
  #view-overview .dashboard-page-heading {gap:8px!important;margin-bottom:12px!important}
  #view-overview .dashboard-page-heading p {max-width:34ch}
  #view-overview .dashboard-page-heading .dashboard-btn {min-height:40px;padding:10px 14px;font-size:12px}

  #view-overview .dashboard-overview-stats {
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    margin-bottom:14px!important;
  }
  #view-overview .dashboard-overview-stats .dashboard-stat-card {
    min-height:98px!important;
    padding:11px 6px!important;
    border-radius:12px;
    text-align:center;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column-reverse;
    gap:7px;
  }
  #view-overview .dashboard-stat-top {
    display:block;
    width:100%;
    color:#e6e6e6;
    font-size:10px!important;
    line-height:1.25;
    font-weight:600;
    text-wrap:balance;
  }
  #view-overview .dashboard-stat-top > span:first-child {display:block}
  #view-overview .dashboard-stat-top > span:first-child::first-letter {text-transform:uppercase}
  #view-overview .dashboard-stat-arrow,
  #view-overview .dashboard-stat-card small,
  #view-overview .dashboard-stat-action {display:none!important}
  #view-overview .dashboard-stat-card strong {
    font-size:27px!important;
    line-height:1!important;
    margin:0!important;
  }
  #view-overview .dashboard-stat-card:focus-visible,
  #view-overview .overview-booking-row:focus-visible {outline:2px solid #e87c32;outline-offset:2px}

  #view-overview .dashboard-section-card {padding:13px!important;border-radius:14px}
  #view-overview .dashboard-card-heading {gap:8px;margin-bottom:9px;align-items:center}
  #view-overview .dashboard-card-heading h2 {font-size:15px}
  #view-overview .dashboard-card-heading p {display:none}
  #view-overview .overview-requests-actions {margin:0;justify-content:flex-end}
  #view-overview .dashboard-text-button {font-size:11px;padding:4px 0}
  /* O total continua no indicador superior; evitar repeticao na lista mobile. */
  #view-overview #overview-results-count {display:none!important}
  #view-overview .dashboard-overview-bottom {gap:12px;margin-top:12px}
  #view-overview .overview-booking-row {
    display:block;
    cursor:pointer;
    background:#2b2b2b;
    border:1px solid #373737;
    border-radius:10px;
    padding:10px 12px!important;
    margin-bottom:7px;
    min-width:0;
  }
  #view-overview .overview-booking-row:last-child {margin-bottom:0}
  #view-overview .overview-booking-row .admin-request-primary strong {font-size:12px;line-height:1.35}
  #view-overview .overview-booking-row {
    position:relative;
    padding-right:34px!important;
  }
  #view-overview .overview-booking-row .admin-request-primary p {
    display:inline;
    font-size:10.5px;
    margin:3px 0 0;
    line-height:1.4;
    color:#bdbdbd;
  }
  #view-overview .overview-booking-row .lume-request-time {
    display:inline-flex;
    vertical-align:baseline;
    font-size:10.5px;
    margin:0 0 0 6px;
    gap:4px;
    white-space:nowrap;
  }
  #view-overview .overview-booking-row .lume-request-time::before {
    width:5px;
    height:5px;
    border:0;
    background:currentColor;
    border-radius:50%;
    align-self:center;
  }
  #view-overview .overview-booking-row .admin-request-secondary {display:none}
  /* Chevron geometrico: evita caracteres especiais quebrados (mojibake). */
  #view-overview .overview-booking-row::after {
    content:"";
    position:absolute;
    right:17px;
    top:50%;
    width:8px;
    height:8px;
    border-right:2px solid #e87c32;
    border-top:2px solid #e87c32;
    transform:translateY(-50%) rotate(45deg);
    pointer-events:none;
  }
  #view-overview .overview-upcoming-all {display:block;margin:7px 0 0 auto;color:#e87c32}

  #view-overview .dashboard-operating-card .dashboard-quick-info {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
    margin:0 0 10px;
  }
  #view-overview .dashboard-quick-info-item {
    display:flex;
    flex-direction:column-reverse;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:9px;
    padding:10px 4px;
    min-width:0;
    background:#2b2b2b;
    gap:5px;
  }
  #view-overview .dashboard-quick-info-icon {display:none}
  #view-overview .dashboard-quick-info-label {font-size:10px;text-align:center;justify-content:center;line-height:1.3}
  #view-overview .dashboard-quick-info-item strong {font-size:11px;text-align:center;line-height:1.25}
  #view-overview .dashboard-operating-link {display:block;margin-left:auto}
}
@media (min-width: 601px) {
  #view-overview .overview-upcoming-all {display:none}
}

/* LUME AGENDA â€” AGENDA COMPACTA SOMENTE NO MOBILE */
@media (max-width: 600px) {
  #view-agenda .dashboard-page-heading {gap:8px!important;margin-bottom:13px!important}
  #view-agenda .dashboard-page-heading p {margin-top:5px!important;line-height:1.4!important}
  #view-agenda .dashboard-heading-actions {gap:8px!important}
  #view-agenda .dashboard-heading-actions .dashboard-btn {min-width:0;flex:1 1 0;padding:10px 7px;font-size:11px;white-space:nowrap;min-height:43px}
  #view-agenda .dashboard-agenda-layout {gap:13px!important}
  #view-agenda .dashboard-section-card {padding:13px!important;border-radius:14px}
  #view-agenda .dashboard-card-heading {gap:4px;margin-bottom:10px}
  #view-agenda .dashboard-card-heading h2 {font-size:15px;line-height:1.3}
  #view-agenda .dashboard-card-heading p {font-size:11px;line-height:1.45;margin-top:4px}
  #view-agenda .dashboard-calendar-header {gap:9px;margin-bottom:9px}
  #view-agenda .dashboard-calendar-header h3 {text-transform:none;font-size:14px}
  #view-agenda .dashboard-calendar-header button {width:36px;height:36px}
  #view-agenda .dashboard-calendar-weekdays {margin-bottom:5px}
  #view-agenda .dashboard-calendar-weekdays span {padding:3px 0}
  #view-agenda .dashboard-calendar-weekdays,
  #view-agenda .dashboard-calendar-days {gap:4px}
  /* MantÃ©m as cÃ©lulas confortÃ¡veis para o toque; reduz sÃ³ os espaÃ§os ao redor. */
  #view-agenda .dashboard-calendar-day {min-height:38px!important}
  #view-agenda .lume-agenda-legend {margin-top:10px;padding-top:9px;gap:6px 12px}
  #view-agenda .lume-legend-item {font-size:9px;gap:5px}
  #view-agenda .dashboard-blocks-card {margin-top:13px}
  #view-agenda #agenda-blocks-list.lume-blocks-empty .dashboard-empty {padding:9px 12px;font-size:11px}

  /* Cada atendimento vira um card com o botÃ£o Detalhes cobrindo toda a Ã¡rea.
     O clique continua usando o listener original do botÃ£o. */
  #view-agenda #agenda-day-bookings .lume-agenda-booking-row {
    position:relative;
    display:grid;
    grid-template-columns:58px minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    column-gap:9px;
    row-gap:3px;
    align-items:center;
    padding:11px 30px 11px 10px!important;
    margin-bottom:7px;
    border:1px solid #383838;
    border-radius:10px;
    background:#292929;
    min-height:68px;
  }
  #view-agenda #agenda-day-bookings .lume-agenda-booking-row:last-child {margin-bottom:0;border-bottom:1px solid #383838}
  #view-agenda .lume-agenda-booking-time {font-size:12px;grid-column:1;grid-row:1 / span 2;align-self:center}
  #view-agenda .lume-agenda-booking-detail {grid-column:2;grid-row:1 / span 2}
  #view-agenda .lume-agenda-booking-detail strong {font-size:11px;line-height:1.3;display:block;overflow-wrap:anywhere}
  #view-agenda .lume-agenda-booking-detail p {font-size:10px;line-height:1.3;margin-top:3px}
  #view-agenda .lume-agenda-booking-actions {grid-column:3;grid-row:1 / span 2;display:flex;align-items:center;gap:0;align-self:center}
  #view-agenda .lume-agenda-booking-actions .admin-status {font-size:9px;padding:5px 7px;white-space:nowrap}
  #view-agenda .lume-agenda-booking-actions .admin-row-button {
    position:absolute;
    inset:0;
    z-index:1;
    width:100%;height:100%;
    opacity:0;
    cursor:pointer;
    border:0;
    padding:0;
  }
  #view-agenda #agenda-day-bookings .lume-agenda-booking-row::after {
    content:"";
    position:absolute;
    right:12px;top:50%;
    width:7px;height:7px;
    border-top:2px solid #e87c32;
    border-right:2px solid #e87c32;
    transform:translateY(-50%) rotate(45deg);
    pointer-events:none;
  }
  #view-agenda #agenda-day-bookings .lume-agenda-booking-row:focus-within {outline:2px solid #e87c32;outline-offset:2px}
  #view-agenda #agenda-day-bookings .dashboard-empty {padding:12px 8px;margin:0;font-size:11px}
}
@media(max-width:380px) {
  #view-agenda #agenda-day-bookings .lume-agenda-booking-row {grid-template-columns:46px minmax(0,1fr) auto;gap:6px;padding-right:24px!important}
  #view-agenda .lume-agenda-booking-actions .admin-status {font-size:8px;padding:4px 5px}
  #view-agenda .lume-agenda-booking-time {font-size:11px}
}

/* LUME AGENDA â€” SOLICITACOES COMPACTAS SOMENTE NO MOBILE */
@media (max-width: 600px) {
  #view-requests .dashboard-page-heading { gap:8px!important; margin-bottom:14px!important; }
  #view-requests .dashboard-page-heading p { margin-top:5px!important; line-height:1.45!important; }
  #view-requests .dashboard-section-card { padding:14px!important; border-radius:14px; }
  #view-requests .dashboard-card-heading { margin-bottom:12px; gap:5px; }
  #view-requests .dashboard-card-heading h2 { font-size:16px; line-height:1.3; }
  #view-requests .dashboard-card-heading p { font-size:11px; line-height:1.4; margin-top:4px; }
  #view-requests .dashboard-request-filters { grid-template-columns:minmax(0,1fr); gap:10px; }
  #view-requests .dashboard-request-filters .dashboard-field { font-size:11px; gap:5px; }
  #view-requests .lume-requests-trigger,
  #view-requests #requests-search { min-height:43px; height:43px; font-size:12px; }
  #view-requests .dashboard-results-count { margin:12px 0 8px; font-size:10px; }
  #view-requests #requests-list { display:grid; gap:8px; }
  #view-requests #requests-list .admin-request-row {
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:5px;
    min-width:0;
    padding:11px 33px 11px 12px!important;
    margin:0;
    border:1px solid #393939;
    border-radius:11px;
    background:#2b2b2b;
  }
  #view-requests #requests-list .admin-request-primary { min-width:0; width:100%; }
  #view-requests #requests-list .admin-request-primary strong {
    font-size:12px;
    line-height:1.35;
    overflow-wrap:anywhere;
  }
  #view-requests #requests-list .admin-request-primary p {
    display:inline;
    margin:0;
    color:#bdbdbd;
    font-size:10.5px;
    line-height:1.5;
    overflow-wrap:anywhere;
  }
  #view-requests #requests-list .lume-request-time {
    display:inline-flex;
    vertical-align:baseline;
    gap:4px;
    margin-left:6px;
    color:#e87c32;
    font-size:10.5px;
    white-space:nowrap;
  }
  #view-requests #requests-list .lume-request-time::before {
    content:"";
    width:5px;
    height:5px;
    border:0;
    background:currentColor;
    border-radius:50%;
    align-self:center;
  }
  #view-requests #requests-list .admin-request-secondary {
    justify-content:flex-start;
    gap:0;
    min-width:0;
  }
  #view-requests #requests-list .admin-status {
    font-size:9px;
    padding:4px 8px;
    line-height:1.3;
  }
  /* Botao original segue ativo, mas cobre todo o card para facilitar o toque. */
  #view-requests #requests-list .admin-row-button {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:1;
    opacity:0;
    border:0;
    padding:0;
    cursor:pointer;
  }
  #view-requests #requests-list .admin-request-row::after {
    content:"";
    position:absolute;
    right:15px;
    top:50%;
    width:8px;
    height:8px;
    border-right:2px solid #e87c32;
    border-top:2px solid #e87c32;
    transform:translateY(-50%) rotate(45deg);
    pointer-events:none;
  }
  #view-requests #requests-list .admin-request-row:focus-within {
    outline:2px solid #e87c32;
    outline-offset:2px;
  }
  #view-requests #requests-list .dashboard-empty { padding:12px 6px; }
}

/* LUME AGENDA â€” SERVICOS COMPACTOS: SOMENTE CELULARES */
@media (max-width: 600px) {
  #view-services .dashboard-page-heading {
    gap: 9px !important;
    margin-bottom: 15px !important;
  }
  #view-services .dashboard-page-heading p {
    margin-top: 6px !important;
    line-height: 1.45 !important;
  }
  #view-services .dashboard-section-card {
    padding: 14px !important;
    border-radius: 14px;
  }
  #view-services .dashboard-card-heading {
    margin-bottom: 12px;
    gap: 5px;
  }
  #view-services .dashboard-card-heading h2 {
    font-size: 16px;
    line-height: 1.3;
  }
  #view-services .dashboard-card-heading p {
    font-size: 11px;
    line-height: 1.45;
    margin-top: 4px;
  }
  #view-services #services-list {
    display: grid;
    gap: 8px;
  }
  #view-services #services-list .admin-request-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 86px;
    align-items: center;
    gap: 9px;
    padding: 12px !important;
    margin: 0;
    border: 1px solid #393939;
    border-radius: 11px;
    background: #292929;
    min-width: 0;
  }
  #view-services #services-list .admin-request-primary {
    min-width: 0;
  }
  #view-services #services-list .admin-request-primary strong {
    font-size: 12px;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }
  #view-services #services-list .admin-request-primary p {
    font-size: 10.5px;
    line-height: 1.4;
    margin-top: 4px;
    overflow-wrap: anywhere;
  }
  #view-services #services-list .admin-request-secondary {
    display: grid;
    grid-template-columns: 40px 40px;
    grid-template-rows: auto 40px;
    justify-items: center;
    align-items: center;
    justify-content: center;
    gap: 4px 6px;
    min-width: 0;
  }
  #view-services #services-list .lume-service-state {
    grid-column: 1 / -1;
    grid-row: 1;
    text-align: center;
    font-size: 10px;
    line-height: 1.3;
  }
  #view-services #services-list .admin-row-button {
    grid-column: 1;
    grid-row: 2;
    width: 40px;
    height: 40px;
    min-width: 40px;
    padding: 0;
    font-size: 0;
    line-height: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    cursor: pointer;
  }
  #view-services #services-list .admin-row-button::before {
    content: "";
    display: block;
    width: 18px;
    height: 18px;
    background: #e87c32;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  #view-services #services-list .admin-row-button:focus-visible,
  #view-services #services-list .lume-service-switch:focus-visible {
    outline: 2px solid #e87c32;
    outline-offset: 2px;
  }
  #view-services #services-list .lume-service-switch {
    grid-column: 2;
    grid-row: 2;
    width: 40px;
    height: 24px;
    margin: 0;
  }
  #view-services #services-list .lume-service-switch[aria-checked="true"]::after {
    transform: translateX(16px);
  }
}


/* VÃ©rtice / ServiÃ§os: compactaÃ§Ã£o exclusiva dos formulÃ¡rios no mobile. */
@media (max-width: 600px) {
  #service-modal .dashboard-modal-content,
  #service-create-modal .dashboard-modal-content {
    padding: 16px !important;
  }
  #service-modal .dashboard-modal-header,
  #service-create-modal .dashboard-modal-header {
    padding-bottom: 12px;
    margin-bottom: 0;
  }
  #service-modal .dashboard-modal-body,
  #service-create-modal .dashboard-modal-body {
    padding: 12px 0 !important;
  }
  #service-modal .dashboard-form-grid,
  #service-create-modal .dashboard-form-grid {
    gap: 12px !important;
    row-gap: 12px !important;
  }
  #service-modal .dashboard-field,
  #service-create-modal .dashboard-field {
    gap: 6px;
    margin-bottom: 0;
  }
  #service-modal .dashboard-modal-actions,
  #service-create-modal .dashboard-modal-actions {
    padding-top: 12px !important;
  }
}


/* VÃ©rtice / ConfiguraÃ§Ãµes: refinamento exclusivo para telas pequenas.
   O JavaScript e os valores dos controles permanecem intactos. */
@media (max-width: 600px) {
  #view-settings .dashboard-page-heading {
    margin-bottom: 15px;
  }
  #view-settings .dashboard-page-heading p {
    line-height: 1.45;
    margin-top: 7px;
  }
  #view-settings .dashboard-section-card {
    padding: 14px !important;
    border-radius: 14px;
  }
  #view-settings .dashboard-section-card + .dashboard-section-card {
    margin-top: 12px;
  }
  #view-settings .dashboard-card-heading {
    margin-bottom: 13px !important;
    gap: 5px;
  }
  #view-settings .dashboard-card-heading h2 {
    font-size: 16px;
    line-height: 1.3;
  }
  #view-settings .dashboard-card-heading p {
    font-size: 11px;
    line-height: 1.5;
    margin-top: 5px;
  }
  #view-settings #capacity-form .dashboard-form-grid {
    gap: 11px;
    row-gap: 11px;
  }
  #view-settings #capacity-form .dashboard-field {
    gap: 6px;
  }
  #view-settings #capacity-form .dashboard-form-actions,
  #view-settings #weekly-hours-form .dashboard-form-actions {
    margin-top: 13px;
    padding-top: 0;
  }
  #view-settings #weekly-hours-list {
    gap: 8px;
  }
  #view-settings #weekly-hours-list .dashboard-weekday-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px 10px;
    padding: 11px 12px;
    align-items: end;
    border-radius: 10px;
  }
  #view-settings #weekly-hours-list .dashboard-weekday-open-label {
    grid-column: 1 / -1;
    min-height: 27px;
    gap: 8px;
  }
  #view-settings #weekly-hours-list .dashboard-weekday-name {
    font-size: 12px;
    line-height: 1.4;
  }
  #view-settings #weekly-hours-list .dashboard-weekday-row > .dashboard-field:not(.dashboard-weekday-open-label) {
    gap: 5px;
    min-width: 0;
    font-size: 10px;
  }
  #view-settings #weekly-hours-list .dashboard-weekday-row select.weekly-start,
  #view-settings #weekly-hours-list .dashboard-weekday-row select.weekly-end {
    min-height: 42px;
    height: 42px;
    width: 100%;
    min-width: 0;
    padding: 8px 10px;
    font-size: 12px;
  }
  /* Dias fechados continuam guardando os horÃ¡rios nos selects; apenas
     escondemos seus campos. Ao ativar o dia, o JS remove is-closed. */
  #view-settings #weekly-hours-list .dashboard-weekday-row.is-closed > .dashboard-field:not(.dashboard-weekday-open-label) {
    display: none;
  }
  #view-settings .dashboard-section-card:has(#demo-reset-button) {
    padding: 14px !important;
  }
  #view-settings .dashboard-reset-info {
    gap: 9px;
  }
  #view-settings .dashboard-reset-info p {
    font-size: 11px;
    line-height: 1.5;
  }
  #view-settings .dashboard-reset-info #demo-reset-button {
    min-height: 42px;
  }
}

/* VÃ©rtice â€” segundo refinamento: cartÃµes semanais mais baixos no mobile.
   Somente apresentaÃ§Ã£o: nÃ£o altera selects, valores, eventos ou salvamento. */
@media (max-width: 600px) {
  #view-settings #weekly-hours-list {
    gap: 6px !important;
  }
  #view-settings #weekly-hours-list .dashboard-weekday-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 8px !important;
    row-gap: 5px !important;
    padding: 8px 10px !important;
    align-items: end;
  }
  #view-settings #weekly-hours-list .dashboard-weekday-open-label {
    grid-column: 1 / -1;
    min-height: 22px !important;
    gap: 6px;
    line-height: 1.2;
  }
  #view-settings #weekly-hours-list .dashboard-weekday-name {
    font-size: 12px;
    line-height: 1.25;
  }
  #view-settings #weekly-hours-list .dashboard-weekday-row > .dashboard-field:not(.dashboard-weekday-open-label) {
    gap: 3px !important;
    line-height: 1.2;
  }
  #view-settings #weekly-hours-list .lume-time-trigger {
    min-height: 38px !important;
    height: 38px;
    padding: 7px 10px !important;
    font-size: 12px;
  }
  #view-settings #weekly-hours-list .dashboard-weekday-row select.weekly-start,
  #view-settings #weekly-hours-list .dashboard-weekday-row select.weekly-end {
    min-height: 38px !important;
    height: 38px !important;
    padding: 7px 28px 7px 10px !important;
    font-size: 12px !important;
  }
  #view-settings #weekly-hours-list .dashboard-weekday-row.is-closed > .dashboard-field:not(.dashboard-weekday-open-label) {
    display: none !important;
  }
}