/* Vuelve.cc brand system: Cercanía: olive structure, cream surfaces and clay accents. */
:root{
  --ink:#36392f;
  --muted:#6a6f5e;
  --line:#dcddd1;
  --paper:#f6f2e9;
  --nav:#4f5142;
  --teal:#4f5142;
  --mint:#d6b6a4;
  --brand-blue:#686e54;
  --brand-cyan:#d6b6a4;
  --brand-ice:#efeee4;
  --brand-shadow:0 18px 45px rgba(62,64,48,.10);
}

body{
  background:
    radial-gradient(circle at 100% 0,rgba(150,155,122,.09),transparent 28rem),
    var(--paper);
}

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline-color:#5b5f47;
}
.sidebar :focus-visible,.login-story :focus-visible{outline-color:#c89e83}

.brand{gap:9px;letter-spacing:-1.2px}
.brand-logo{
  width:44px;
  height:44px;
  object-fit:contain;
  flex:none;
  filter:drop-shadow(0 5px 12px rgba(111,116,87,.16));
}
.brand:not(.dark) .brand-logo{background:#fff;border-radius:50%;padding:3px}
.brand-word{color:#fff;font-size:1.65rem;font-weight:800;line-height:1;white-space:nowrap}
.brand-word>span{color:var(--brand-cyan)}
.brand.dark .brand-word{color:var(--nav)}
.brand.dark .brand-word>span{color:#5b5f47}

.button{border-color:#e4decf;box-shadow:0 1px 2px rgba(62,64,48,.03)}
.button.primary{
  background:linear-gradient(135deg,#4f523d 0%,#5b5f47 55%,#5c5f48 100%);
  border-color:#4f523d;
  box-shadow:0 8px 20px rgba(100,104,79,.18);
}
.button.primary:hover{filter:brightness(1.04);box-shadow:0 10px 25px rgba(100,104,79,.24)}
.text-link,.show-password,.round-link,.form-section,.price-suggestion{color:var(--teal)}
.pill{background:#f4f1eb;color:#555842}
.subtle{background:#f5f3ed;color:var(--muted)}
input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{
  border-color:#7f8463;
  box-shadow:0 0 0 3px rgba(127,132,99,.13);
}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:#979c7b}
input[type=checkbox]{accent-color:#64684f}

.login-story{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 83% 17%,rgba(150,155,122,.32),transparent 20rem),
    radial-gradient(circle at 8% 92%,rgba(127,132,99,.28),transparent 24rem),
    linear-gradient(145deg,#3e4030 0%,#454736 58%,#585b45 100%);
}
.login-story::after{
  content:"";
  position:absolute;
  width:430px;
  height:430px;
  right:-245px;
  bottom:-235px;
  border:1px solid rgba(213,182,163,.28);
  border-radius:50%;
  box-shadow:0 0 0 62px rgba(150,155,122,.035),0 0 0 124px rgba(127,132,99,.025);
  pointer-events:none;
}
.login-story>*{position:relative;z-index:1}
.login-story .brand-logo{width:58px;height:58px;filter:drop-shadow(0 8px 20px rgba(0,0,0,.18))}
.login-story .brand-word{font-size:2rem}
.login-story h1{font-size:clamp(2.35rem,3.45vw,3.75rem);max-width:690px}
.login-story h1 span{color:#c89e83}
.login-story p{color:#e8e3d6;max-width:440px}
.story-tags span{border-color:rgba(213,180,160,.42);color:#f8f6f2;background:rgba(62,64,48,.16)}
.story-foot{color:#d1d3c5}
.login-panel{background:linear-gradient(155deg,#fff 15%,#fbfbf9 100%)}
.login-form .eyebrow{color:#64684f}
.login-form h2{color:#3e4030}
.login-form{position:relative}
.login-lockup{display:block;width:140px;height:auto;margin:0 auto 28px}
.password-setup-form{max-width:460px}
.password-setup-form h2{margin-bottom:10px}
.password-business{margin:22px 0 8px}
.password-setup-fields .field{margin-top:18px}
.password-setup-fields label{margin-top:0}
.password-setup-fields .button{margin-top:22px}
.password-visibility{display:block;margin:14px 0 0 auto;padding:7px 0;border:0;background:transparent;color:var(--teal);font-size:.84rem;font-weight:650}
.password-setup-exit{text-align:center;margin-top:18px}
.password-setup-exit button{border:0;background:transparent;padding:8px;min-height:44px}

.sidebar{
  background:
    radial-gradient(circle at 20% 0,rgba(150,155,122,.18),transparent 15rem),
    linear-gradient(180deg,#3e4030 0%,#3e4030 55%,#3e4030 100%);
  color:#c1c4b0;
}
.sidebar .brand-logo{width:39px;height:39px}
.sidebar .brand-word{font-size:1.48rem}
.business-switch{border-color:#5b5f47;background:rgba(255,255,255,.035)}
.business-switch .eyebrow{color:#c3c5b3}
.sidebar nav a:hover{background:rgba(142,147,112,.13);color:#fff}
.sidebar nav a.active{
  color:#d2b19c;
  background:linear-gradient(90deg,rgba(127,132,99,.22),rgba(150,155,122,.10));
  box-shadow:inset 3px 0 #969b7a;
}
.logout{color:#e6e0d1}
.local-badge>span{background:#969b7a;box-shadow:0 0 0 4px rgba(150,155,122,.12)}

.topbar{background:rgba(255,255,255,.84);backdrop-filter:blur(10px)}
.panel,.stat,.business-card,.message-preview{box-shadow:0 8px 26px rgba(62,64,48,.045)}
.stat.feature{
  background:linear-gradient(145deg,#3e4030 0%,#484b38 72%,#595d46 100%);
  border-color:#404332;
  color:#cea992;
}
.stat.feature .stat-label,.stat.feature .stat-note{color:#e8e2d4}
.business-card{border-top-color:#969b7a}
.business-card.salon{border-top-color:#848967}
.business-card.aesthetic{border-top-color:#8a2d5b}
.business-card.workshop{border-top-color:#858b68}
.business-card.custom{border-top-color:#73785a}
.vertical-monogram,.salon .vertical-monogram,.workshop .vertical-monogram{
  color:#3e4030;
  background:linear-gradient(145deg,#f2efe8,#e8e2d4);
}
.aesthetic .vertical-monogram{color:#79274e;background:linear-gradient(145deg,#fbeef4,#f4dce8)}
.custom .vertical-monogram{color:#575b44;background:linear-gradient(145deg,#f6f5f0,#ebe7dc)}
.avatar,.avatar.large{background:#f1eee5;color:#555843}
.avatar.color-two{background:#f5f2ec;color:#6c7054}
.notice{border-color:#d4d6c9;background:#f5f3ed;color:#474a38}
.status.ACTIVE{background:#f3f0e8;color:#474a37}
.empty-symbol{color:#6c7054}
.insight{border-color:#d7d9cc;background:linear-gradient(145deg,#f6f4ee,#f4f1ea)}
.insight .eyebrow{color:#595c46}
.insight p{color:#676b50}
.insight a{color:#4b4e3b}
.form-aside{color:#7a7f5f;background:#f6f5f0}
.form-aside .eyebrow{color:#64684f}
.form-layout .field #id_services label:has(input:checked){background:#f4f1ea;border-color:#bf8f71;color:#464837}
.chat-surface{background:linear-gradient(145deg,#f4f1ea,#f3f0e9)}
.team-card,.agenda-filter{background:#f8f6f2}
.photo-dropzone{background:#f9f8f5}
.technical-note{background:#f8f7f3;border-left-color:#b8bba5}
.selection-bar,.category-card{background:#f8f6f2}
.slot-button{background:#f8f6f1;border-color:#dadcd0}
.slot-button:hover{background:#f3f0e9}
.quick-badge{background:#f4f1ea;border-color:#e3cdc0}
.quick-main{border-color:#eae5d8;box-shadow:0 8px 32px rgba(62,64,48,.07)}
.photo-picker{border-color:#b5b8a2;background:#faf8f5}
.photo-symbol,.shortcut-icon{background:#f3f0e8}
.photo-preview img,.photo-preview .photo-placeholder,.photo-tile img{background:#f0ece3}
.daily-shortcuts>a:hover{border-color:#c69a7f;box-shadow:0 8px 22px rgba(62,64,48,.08)}

@media(max-width:900px){
  .entry .login-layout{grid-template-columns:1fr}
  .login-story{min-height:0;padding:20px 24px 22px;gap:12px}
  .login-story .brand-logo{width:39px;height:39px}
  .login-story .brand-word{font-size:1.45rem}
  .login-story>div:not(.brand){display:block}
  .login-story>div:not(.brand) .eyebrow,
  .login-story>div:not(.brand) p,
  .login-story>div:not(.brand) .story-tags{display:none}
  .login-story .story-foot{display:none}
  .login-story h1{font-size:1.35rem;letter-spacing:-.6px;line-height:1.22;margin:10px 0 0;max-width:530px}
  .login-panel{min-height:calc(100dvh - 150px);padding:34px 24px 70px}
  .login-lockup{width:118px;margin-bottom:20px}
}

@media(max-width:390px){
  .login-story h1{font-size:1.18rem}
  .brand-logo{width:38px;height:38px}
  .brand-word{font-size:1.4rem}
}

@media(prefers-reduced-motion:reduce){
  .button{transition:none}
}

/* Per-business identity. Colors come from the authenticated, validated theme endpoint. */
.tenant-brand{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  margin:-7px 7px 20px;
  text-align:center;
  color:#fff;
}
.tenant-brand-logo{
  width:92px;
  height:92px;
  overflow:hidden;
  display:block;
  border:1px solid rgba(255,255,255,.28);
  border-radius:20px;
  background:#050608;
  box-shadow:0 10px 30px rgba(0,0,0,.32),inset 0 0 0 1px rgba(255,255,255,.08);
}
.tenant-brand-logo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 42%}
.tenant-brand-copy{min-width:0;max-width:100%}
.tenant-brand-copy strong{display:block;font-size:.92rem;line-height:1.25;overflow-wrap:anywhere}
.tenant-brand-copy small{display:block;margin-top:4px;color:#b9bdc6;font-size:.62rem;letter-spacing:.8px;text-transform:uppercase}
.topbar-brand-logo{display:none;width:38px;height:38px;object-fit:cover;object-position:center 42%;border-radius:10px;background:#050608;border:1px solid var(--line)}

.brand-settings{scroll-margin-top:20px}
.brand-settings-layout{display:grid;grid-template-columns:minmax(230px,.72fr) minmax(0,1.55fr);gap:34px;align-items:start}
.brand-preview{min-height:315px;padding:28px;border-radius:16px;background:linear-gradient(150deg,#101419,#242a31);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.09)}
.brand-preview-logo{width:132px;height:132px;display:grid;place-items:center;overflow:hidden;border-radius:24px;background:#08090b;border:1px solid rgba(255,255,255,.24);box-shadow:0 15px 32px rgba(0,0,0,.28)}
.brand-preview-logo img{width:100%;height:100%;object-fit:contain;display:block}
.brand-preview-logo>span{font-size:3rem;font-weight:800;color:#fff}
.brand-preview .eyebrow{margin:22px 0 5px;color:#aeb7c2;font-size:.62rem}
.brand-preview strong{display:block;font-size:1.25rem;line-height:1.25}
.brand-preview small{display:block;margin-top:5px;color:#c8ced5}
.brand-swatches{display:flex;gap:8px;margin-top:22px}
.brand-swatches span{width:28px;height:8px;border-radius:10px;border:1px solid rgba(255,255,255,.22)}
.swatch-primary{background:var(--tenant-primary,#111318)}
.swatch-accent{background:var(--tenant-accent,#b91c2b)}
.swatch-secondary{background:var(--tenant-secondary,#245a92)}
.brand-form{min-width:0}
.brand-form input[type=color]{height:52px;padding:5px;cursor:pointer}
.brand-form input[type=file]{padding:9px;background:#f8fafb}
.brand-reset{margin-top:20px;text-align:right;border-top:1px solid var(--line);padding-top:18px}
.brand-reset button{border:0;background:transparent;min-height:42px}
.business-card-logo{width:62px;height:62px;display:block;object-fit:cover;object-position:center 42%;border-radius:15px;background:#07080a;border:1px solid #cbd5db;box-shadow:0 6px 16px rgba(10,20,28,.16)}

.tenant-themed{
  --nav:var(--tenant-primary);
  --teal:var(--tenant-secondary);
  --brand-blue:var(--tenant-secondary);
  --brand-cyan:var(--tenant-accent);
  background:linear-gradient(145deg,#f7f8f9 0%,#eef1f4 100%);
}
.tenant-themed .sidebar{background:linear-gradient(180deg,var(--tenant-primary) 0%,#090b0e 68%,#050608 100%);color:#b8bec7}
.tenant-themed .business-switch{border-color:#454b54;background:rgba(255,255,255,.045)}
.tenant-themed .business-switch .eyebrow{color:#bfc4cb}
.tenant-themed .sidebar nav a:hover{background:rgba(255,255,255,.08);color:#fff}
.tenant-themed .sidebar nav a.active{color:#fff;background:linear-gradient(90deg,rgba(255,255,255,.13),rgba(255,255,255,.04));box-shadow:inset 3px 0 var(--tenant-accent)}
.tenant-themed .local-badge>span{background:var(--tenant-accent);box-shadow:0 0 0 4px rgba(255,255,255,.09)}
.tenant-themed .topbar{border-bottom:2px solid var(--tenant-accent);background:rgba(255,255,255,.9)}
.tenant-themed .button.primary{background:linear-gradient(135deg,var(--tenant-accent),var(--tenant-accent));border-color:var(--tenant-accent);box-shadow:0 8px 20px rgba(20,20,24,.17)}
.tenant-themed .button.primary:hover{box-shadow:0 10px 24px rgba(20,20,24,.23)}
.tenant-themed .text-link,.tenant-themed .round-link,.tenant-themed .form-section,.tenant-themed .price-suggestion,.tenant-themed .teal{color:var(--tenant-secondary)}
.tenant-themed .pill{background:#edf1f5;color:var(--tenant-secondary)}
.tenant-themed .subtle{background:#eff1f3;color:#5f6872}
.tenant-themed input:not([type=checkbox]):not([type=radio]):focus,.tenant-themed select:focus,.tenant-themed textarea:focus{border-color:var(--tenant-secondary);box-shadow:0 0 0 3px rgba(44,75,110,.14)}
.tenant-themed input[type=checkbox]{accent-color:var(--tenant-secondary)}
.tenant-themed a:focus-visible,.tenant-themed button:focus-visible,.tenant-themed input:focus-visible,.tenant-themed select:focus-visible,.tenant-themed textarea:focus-visible{outline-color:var(--tenant-secondary)}
.tenant-themed .stat.feature{background:linear-gradient(145deg,var(--tenant-primary),#20242a);border-color:var(--tenant-primary);color:#fff}
.tenant-themed .stat.feature .stat-label,.tenant-themed .stat.feature .stat-note{color:#d2d6dc}
.tenant-themed .panel,.tenant-themed .stat,.tenant-themed .message-preview{border-color:#d9dde2;box-shadow:0 9px 28px rgba(18,24,31,.055)}
.tenant-themed .avatar,.tenant-themed .avatar.large,.tenant-themed .shortcut-icon,.tenant-themed .photo-symbol{background:#e8edf3;color:var(--tenant-secondary)}
.tenant-themed .daily-shortcuts>a:hover{border-color:#9aabbc;box-shadow:0 8px 22px rgba(18,24,31,.09)}
.tenant-themed .insight{border-color:#d4d8de;background:linear-gradient(145deg,#f0f2f4,#e7eaee)}
.tenant-themed .insight a{color:var(--tenant-secondary)}

@media(max-width:1050px){
  .tenant-brand-logo{width:76px;height:76px;border-radius:17px}
  .tenant-brand-copy strong{font-size:.82rem}
}
@media(max-width:780px){
  .topbar-brand-logo{display:block}
  .brand-settings-layout{grid-template-columns:1fr}
  .brand-preview{min-height:260px}
}
@media(max-width:600px){
  .brand-settings{padding:18px}
  .brand-preview{padding:22px;min-height:235px}
  .brand-preview-logo{width:112px;height:112px;border-radius:20px}
  .brand-reset{text-align:left}
}

/* Public information remains reachable from sign-in and the workspace. */
.legal-links a{text-decoration:underline;text-underline-offset:3px}.legal-links a:hover{color:var(--teal)}

/* Approved flat identity. 3D artwork is reserved exclusively for commercials. */
.brand-lockup{display:block;width:184px;height:auto;object-fit:contain;flex:none}
.brand .brand-lockup-dark{display:none}.brand .brand-lockup-light{display:block}
.brand.dark .brand-lockup-dark{display:block}.brand.dark .brand-lockup-light{display:none}
.sidebar .brand-lockup{width:171px}.login-story .brand-lockup{width:222px}
.login-lockup{width:280px;max-width:100%;height:auto;margin:0 auto 30px}
.entry .button.primary{background:#4f5142;border-color:#4f5142;color:#fff}
.entry .button.primary:hover{background:#3e4133}
body:not(.tenant-themed) .sidebar{background:linear-gradient(180deg,#565a48,#3c3f33);color:#d7d9cd}
body:not(.tenant-themed) .sidebar nav a.active{color:#f6f2e9;background:#ffffff12;box-shadow:inset 3px 0 #d6b6a4}
.login-story{background:radial-gradient(circle at 85% 12%,#b7bea726,transparent 26rem),linear-gradient(145deg,#4f5142,#3b3f31)}
.login-story h1 span{color:#d6b6a4}.login-panel{background:linear-gradient(155deg,#fff,#f6f2e9)}
@media(max-width:900px){.login-story .brand-lockup{width:160px}.login-lockup{width:245px;margin-bottom:24px}}
