/* Stitch visual system adapted to the real Recepcionista Digital frontend. */
:root{
  color:#171d1a;background:#f5f3ee;
  --bg:#f5f3ee;--surface:#ffffff;--surface2:#fafaf7;
  --line:#e8e6e0;--line2:#d8ddd8;--muted:#6b6860;--text:#171d1a;
  --accent:#004d3d;--accent2:#1a6b58;--danger:#bb161e;
  --warning:#b45535;--ok:#0f6b52;--shadow:0 8px 28px rgba(31,55,47,.06);
  font-family:Poppins,Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
html{background:var(--bg);color-scheme:light}
body,.wizard-body,.onboarding-body,.booking-page{background:var(--bg)!important;color:var(--text)!important}
body{background-image:radial-gradient(circle at 90% 0,rgba(0,77,61,.045),transparent 26%)!important}
.brand{color:var(--text)}
.brand span,.muted{color:var(--muted)!important}
.logo.brand-mark{padding:0;border:0;background:transparent;overflow:hidden}
.logo.brand-mark img{display:block;width:100%;height:100%;object-fit:contain}
.sidebar,.wizard-side{background:rgba(255,255,255,.94)!important;border-color:var(--line)!important;box-shadow:none!important}
.main,.wizard-main{background:transparent!important}
.nav{color:#59645f!important;border-radius:12px}
.nav.active,.nav:hover{background:#e8f3f1!important;border-color:#d3e7e0!important;color:var(--accent)!important}
.nav b{background:#ffdad4!important;color:#8f1016!important}
.plan{background:#fafaf7!important;border-color:var(--line)!important}
.topbar{border-color:var(--line)!important}
.topbar h1,.card h2,.section-toolbar h2,.auth-card h1,.wizard-content h1{color:var(--text)}
.eyebrow{color:var(--accent)!important}
.card,.metric-grid article,.wizard-steps,.wizard-card,.profile-sheet,.soft-note,.payment-box{
  background:var(--surface)!important;border-color:var(--line)!important;box-shadow:var(--shadow)!important;
}
.card:hover{border-color:#d3ddd7!important}
.metric-grid article{border-radius:16px!important}
.metric-grid span,.metric-grid small,.row span,.row small,.section-toolbar p{color:var(--muted)!important}
.metric-grid strong{color:var(--text)}
.metric-grid article.attention{background:#fff7f5!important;border-color:#f1c8bd!important}
.primary{background:var(--accent)!important;color:#fff!important;box-shadow:none!important}
.primary:hover:not(:disabled){background:#073f34!important;box-shadow:none!important}
.ghost,.filter,.back-button{background:#fff!important;color:#33423c!important;border-color:var(--line)!important}
.ghost:hover:not(:disabled),.filter:hover:not(:disabled){border-color:#bfcfc7!important;background:#f8faf7!important}
.text-btn,.text-link{color:var(--accent)!important}
.status.ok{background:#e2f2eb!important;color:#0d654e!important}
.status.warning{background:#fff0ec!important;color:#9c3b25!important}
.status.neutral{background:#eef1ee!important;color:#59645f!important}
.status.danger{background:#ffdad4!important;color:#9d131a!important}
.tag{background:#e8f3f1!important;color:var(--accent)!important}
.live,.business-pill,.usage-pill,.cart-button,.save-pill{background:#fff!important;border-color:var(--line)!important;color:#33423c!important}
.action{background:#fff!important;border-color:var(--line)!important;border-radius:16px!important}
.action.warning{background:#fff3ef!important;border-color:#f0c2b4!important}
.action.warning strong{color:#7f281d}
.action span{color:var(--muted)!important}
.row{border-color:var(--line)!important}
.inbox-layout{background:#fff!important;border-color:var(--line)!important;box-shadow:var(--shadow)}
.conversation-list,.context-pane{background:#fafaf7!important;border-color:var(--line)!important}
.conversation-pane{background:#fff!important}
.conv{color:var(--text)!important}
.conv:hover,.conv.active{background:#edf5f1!important;border-color:#cfe1d9!important}
.conv p{color:#66716c!important}
.conv-meta{color:#87908b!important}
.conversation-header,.composer,.context-block{border-color:var(--line)!important}
.message.customer{background:#f0f2ef!important;color:var(--text)!important}
.message.ai{background:#e2f2eb!important;color:#123e32!important}
.message.system{background:#fafaf7!important;color:var(--muted)!important}
.composer textarea{background:#fff!important;color:var(--text)!important;border-color:var(--line)!important}
input,textarea,select{background:#fff!important;color:var(--text)!important;border-color:#d9ded9!important}
input:focus,textarea:focus,select:focus{border-color:#6f9e90!important;box-shadow:0 0 0 3px rgba(0,77,61,.07)!important;outline:none}
.auth-card,.checkout-modal,.modal-backdrop .checkout-modal{background:#fff!important;border-color:var(--line)!important;color:var(--text)!important}
.auth-card label,.account-form label,.knowledge-form label,.channel-form label{color:#45514c!important}
.modal-backdrop{background:rgba(29,39,35,.28)!important;backdrop-filter:blur(5px)}
.toast{background:#173c33!important;color:#fff!important;border-color:#173c33!important;box-shadow:0 12px 30px rgba(21,55,46,.18)}
.option,.addon-card,.provider-option,.payment-plan-choice button,.mini-calendar,.day-editor,.cal-day,.day-slot,.reschedule-panel,.live-summary,.gap,.url-analyser,.basic-schedule,.embed-box textarea{
  background:#fff!important;border-color:var(--line)!important;color:var(--text)!important;
}
.option>b,.channel-icon,.analysis-avatar,.panel-logo,.logo-preview{background:#e8f3f1!important;color:var(--accent)!important}
.option.selected,.addon-card.selected,.provider-option.active,.payment-plan-choice button.active{background:#edf6f2!important;border-color:#9fc7b9!important}
.wizard-steps li{color:var(--muted)!important}
.wizard-steps li b{background:#eef1ee!important;color:#64706a!important}
.wizard-steps li.active{background:#edf6f2!important;border-color:#cfe1d9!important;color:var(--text)!important}
.wizard-steps li.active b,.wizard-steps li.done b{background:var(--accent)!important;color:#fff!important}
.wizard-autosave i,.live i{background:var(--ok)!important}
.calendar-config,.bulk-form{color:var(--text)}
.cal-day.has-slots{background:#f0f7f3!important;border-color:#d5e7df!important}
.cal-day.active{background:#e2f2eb!important;outline:2px solid rgba(0,77,61,.2)!important}
.cal-day.has-booking,.day-slot.booked{background:#fff8ef!important;border-color:#f0d6b0!important}
.weekday-pills span{background:#fff!important;border-color:var(--line)!important;color:var(--muted)!important}
.weekday-pills input:checked+span{background:#e8f3f1!important;border-color:#a7cdbf!important;color:var(--accent)!important}
.checkout-summary{background:#fffaf4!important;border-color:#efdcc4!important;box-shadow:none!important}
.payment-flow{background:#fafaf7!important;border-color:var(--line)!important}
.danger{color:var(--danger)!important;border-color:#efc1c4!important}
.danger-solid{background:var(--danger)!important;color:#fff!important}
.home-status-card{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;padding:18px 20px;border:1px solid #d5e7df;border-radius:16px;background:#edf6f2}
.home-status-card>div{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 9px}
.home-status-card strong{font-size:14px;color:#173f34}
.home-status-card small{grid-column:2;color:#60706a}
.home-status-dot{grid-row:1/3;width:10px;height:10px;border-radius:50%;background:#20a277;box-shadow:0 0 0 5px rgba(32,162,119,.1)}
.home-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:18px 0 10px}
.home-section-title h2{margin:0;font-size:17px;letter-spacing:-.02em}
.home-section-title .eyebrow{margin-bottom:4px}
.home-quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 14px}
.quick-action{display:grid;grid-template-columns:38px 1fr;gap:2px 10px;text-align:left;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--text);cursor:pointer}
.quick-action>span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#e8f3f1;color:var(--accent);font-size:17px}
.quick-action strong{font-size:11px;align-self:end}
.quick-action small{font-size:9px;color:var(--muted);align-self:start}
.quick-action:hover{border-color:#bfd8cf;background:#fbfdfb}
.action-strip:empty{display:none}
.mobile-bottom-nav,.mobile-more-sheet{display:none}
@media(max-width:760px){
  .shell{display:block!important}.sidebar{display:none!important}
  .main{padding:14px 14px 92px!important;min-height:100vh}
  .topbar{position:sticky;top:0;z-index:12;margin:0 -14px 18px;padding:10px 14px 12px;background:rgba(245,243,238,.94);backdrop-filter:blur(10px);align-items:center!important}
  .title-row{gap:9px}.title-row .eyebrow{display:none}.topbar h1{font-size:22px!important}
  #panel-back{display:none}.top-actions{gap:7px}.top-actions>:not(.live){display:none!important}
  .live{padding:7px 9px!important;font-size:9px!important;background:#edf6f2!important;border-color:#d5e7df!important;color:#275a4c!important}
  .home-status-card{padding:15px;margin-bottom:18px}.home-status-card .ghost{display:none}
  .home-section-title{margin-top:16px}.home-section-title h2{font-size:16px}
  .metric-grid{grid-template-columns:1fr 1fr!important;gap:9px!important}
  .metric-grid article{padding:14px!important;min-height:108px}.metric-grid strong{font-size:24px!important}
  .home-quick-actions{grid-template-columns:1fr!important;gap:8px}.quick-action{padding:13px}
  .dashboard-grid,.dashboard-grid.second{gap:10px!important}.card{padding:16px!important;border-radius:16px!important}
  .action-strip{grid-template-columns:1fr!important}.action{padding:14px!important}
  .section-toolbar{align-items:flex-start!important;flex-direction:column}.filters{width:100%;overflow-x:auto}
  .inbox-layout{border-radius:16px!important}.conversation-list{max-height:300px!important}
  .conversation-pane{min-height:500px!important}.message{max-width:88%!important}
  .channel-grid,.upgrade-grid,.settings-grid{grid-template-columns:1fr!important}
  .business-layout,.knowledge-grid,.agenda-full-layout,.agenda-lower{grid-template-columns:1fr!important}
  .mobile-bottom-nav{position:fixed;z-index:60;left:0;right:0;bottom:0;height:72px;display:grid;grid-template-columns:repeat(5,1fr);padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(31,55,47,.06)}
  .mobile-nav-button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:transparent;color:#77817c;border-radius:11px;cursor:pointer}
  .mobile-nav-button>span{font-size:19px;line-height:1}.mobile-nav-button small{font-size:9px;font-weight:700}
  .mobile-nav-button.active{color:var(--accent);background:#edf6f2}
  .mobile-nav-button b{position:absolute;top:2px;right:16%;min-width:17px;padding:2px 5px;border-radius:99px;background:#e05d3b;color:#fff;font-size:8px}
  .mobile-more-sheet{position:fixed;z-index:70;left:10px;right:10px;bottom:80px;display:block;padding:20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 22px 70px rgba(24,47,40,.18)}
  .mobile-more-sheet.hidden{display:none!important}.mobile-more-sheet h2{margin:0 0 15px;font-size:18px}
  .mobile-more-close{position:absolute;right:12px;top:12px;width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:#fafaf7;color:var(--text);font-size:20px}
  .mobile-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .mobile-more-grid button{display:grid;grid-template-columns:30px 1fr;gap:2px 8px;text-align:left;padding:12px;border:1px solid var(--line);border-radius:13px;background:#fafaf7;color:var(--text)}
  .mobile-more-grid button>span{grid-row:1/3;display:grid;place-items:center;color:var(--accent);font-size:17px}
  .mobile-more-grid strong{font-size:10px}.mobile-more-grid small{font-size:8px;color:var(--muted)}
  .wizard-shell{display:block!important}.wizard-side{padding:18px 16px!important;border:0!important;background:transparent!important}.wizard-side-copy,.wizard-autosave{display:none!important}
  .wizard-side .brand{padding-bottom:12px}.wizard-steps{grid-template-columns:repeat(4,1fr)!important;padding:8px!important;background:#fff!important}
  .wizard-steps li span{display:none}.wizard-main{padding:8px 14px 90px!important}.wizard-top{margin-bottom:20px}.wizard-content h1{font-size:27px!important}
  .wizard-footer{position:fixed!important;z-index:55;left:0;right:0;bottom:0;padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important;background:rgba(255,255,255,.97)!important;border-top:1px solid var(--line)}
}

/* Mobile containment: every customer-facing screen stays inside the device viewport. */
@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .shell,.main,.view,.topbar,.action-strip,.metric-grid,.dashboard-grid,.home-quick-actions,.inbox-layout,.conversation-pane,.conversation-list,.business-layout,.knowledge-grid,.agenda-full-layout,.agenda-lower,.channel-grid,.upgrade-grid,.settings-grid{min-width:0;max-width:100%}
  .mobile-bottom-nav{width:100vw;max-width:100vw;overflow:hidden}
  .mobile-nav-button{min-width:0;padding:4px 2px}
  .wizard-shell,.wizard-main,.wizard-content,.wizard-form,.wizard-grid,.wizard-options,.url-analyser,.addon-grid,.profile-sheet{min-width:0;max-width:100%}
  .wizard-form input,.wizard-form textarea,.wizard-form select,.profile-sheet input,.profile-sheet textarea,.profile-sheet select{width:100%;max-width:100%;min-width:0}
  .option,.addon-card{min-width:0;max-width:100%}
  .booking-page,.booking-shell,.booking-card,.booking-summary,.reschedule-panel{min-width:0;max-width:100%;overflow-x:hidden}
  .booking-summary>div{min-width:0;align-items:flex-start}
  .booking-summary>div>*{min-width:0}
  .booking-summary strong{max-width:60%;text-align:right;overflow-wrap:anywhere}
  .booking-card h1,.booking-card p{overflow-wrap:anywhere}
}

@media(max-width:760px){
  .auth-brand,.wizard-side .brand,.booking-brand{display:flex!important;align-items:center;gap:11px}
  .auth-brand .brand-mark,.wizard-side .brand-mark,.booking-brand .brand-mark{display:grid!important;flex:0 0 41px;width:41px;height:41px}
  .wizard-side .brand{padding:0 0 12px!important}
  .booking-brand{margin-bottom:16px!important;padding:0!important}
}

@media(max-width:760px){
  .auth-brand>div:last-child,.wizard-side .brand>div:last-child,.booking-brand>div:last-child{display:block!important}
  .title-row::before{content:"";display:block;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:url("brand-r-phone.svg?v=20260917h") center/contain no-repeat}
}

/* Usabilidad móvil: respeta la barra fija y evita anchos intrínsecos en Agenda. */
@media(max-width:760px){
  .main{padding-bottom:132px!important}
  .view.active{padding-bottom:36px}
  .cal-week,.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
  .cal-day,.cal-empty{min-width:0}
  .cal-day{padding:6px 3px;overflow:hidden}
  .cal-day small{max-width:100%;overflow:hidden;text-overflow:ellipsis}
  #agenda-prev-month,#agenda-next-month{width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important}
  .mobile-more-close,.modal-close{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}
}


/* 2026-10-01 · product polish: clearer hierarchy and actionable status */
.main{max-width:1680px;margin:0 auto;width:100%}
.topbar{padding-bottom:14px;border-bottom:1px solid rgba(216,221,216,.75)}
.top-actions{flex-wrap:wrap;justify-content:flex-end}
.home-status-card{box-shadow:0 8px 28px rgba(31,55,47,.035)}
.home-status-card.needs-attention{background:#fff7f3!important;border-color:#f0c8bb!important}
.home-status-card.needs-attention .home-status-dot{background:#d96345;box-shadow:0 0 0 5px rgba(217,99,69,.1)}
.home-status-card.needs-attention strong{color:#7b3020}
.home-status-card.needs-review{background:#fff9ef!important;border-color:#ecd7b1!important}
.home-status-card.needs-review .home-status-dot{background:#c98232;box-shadow:0 0 0 5px rgba(201,130,50,.1)}
.home-status-card.needs-setup{background:#f7f6f1!important;border-color:#dfded6!important}
.home-status-card.needs-setup .home-status-dot{background:#89918d;box-shadow:0 0 0 5px rgba(137,145,141,.1)}
.live.warning{background:#fff7ef!important;border-color:#ecd4b4!important;color:#8a5524!important}
.cart-button:not(.has-items){display:none}
.wizard-content{max-width:920px}
.wizard-content h1{max-width:760px;line-height:1.08}
.wizard-copy{font-size:14px;color:#6b6860!important}
.wizard-form>label,.wizard-form .wizard-grid>label,.url-analyser>label,.calendar-config .wizard-grid>label{display:grid;gap:7px;min-width:0;color:#3f4944;font-size:11px;font-weight:650}
.wizard-form input:not([type="checkbox"]),.wizard-form textarea,.wizard-form select,.url-analyser input{width:100%;min-width:0;border:1px solid #d9ded9;border-radius:11px;background:#fff;color:var(--text);padding:11px 12px;outline:none;font-weight:450}
.wizard-form input:not([type="checkbox"]):focus,.wizard-form textarea:focus,.wizard-form select:focus,.url-analyser input:focus{border-color:#6f9e90;box-shadow:0 0 0 3px rgba(0,77,61,.07)}
.route-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.analysis-mode-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:7px 10px;border-radius:999px;background:#edf6f2;color:#245f50;font-size:10px;font-weight:700}
.analysis-mode-badge.disabled{background:#fff4ef;color:#8f452f}
.analysis-mode-badge.demo{background:#f6f2e8;color:#735f31}
.analysis-error{padding:10px 12px;border:1px solid #efc7bd;border-radius:11px;background:#fff7f4;color:#8d3926;font-size:11px;line-height:1.45}
.url-analyser{grid-template-columns:minmax(0,1fr) auto;padding:18px;background:#fff!important}
.url-analyser .analysis-mode-badge,.url-analyser .analysis-state,.url-analyser .analysis-error{grid-column:1/-1}
.legal-line{align-items:flex-start!important;font-weight:450!important;line-height:1.5}
.legal-line input{margin-top:3px}
.wizard-footer{padding-top:18px;border-top:1px solid rgba(216,221,216,.7)}
.wizard-side-copy{font-size:13px}
.wizard-form>label.checkline{display:flex!important;align-items:flex-start!important;gap:10px;font-weight:450!important}
.wizard-form>label.checkline input[type="checkbox"]{flex:0 0 auto;width:auto!important;margin:3px 0 0}
.wizard-form>label.checkline>span{min-width:0}
@media(max-width:760px){.route-choice{grid-template-columns:1fr}.wizard-copy{font-size:13px}.url-analyser{grid-template-columns:1fr}}
@media(max-width:700px){.app-view:not(.hidden) .topbar .top-actions{display:none!important}.app-view:not(.hidden) .topbar{align-items:center!important}.app-view:not(.hidden) .section-head>a{display:none!important}.app-view:not(.hidden) .main{padding-top:14px!important}.shell:not(.hidden) .topbar .top-actions{display:none!important}.shell:not(.hidden) .home-section-title .text-btn{display:none!important}}
/* Auth gate must win over mobile shell layout. */
.shell.hidden{display:none!important}
