:root{--cream:#f7f1e7;--sand:#dec7a5;--terracotta:#a86c48;--brown:#513b2f;--dark:#2e241f;--gold:#d6a529;--olive:#6f7654;--white:#fff;--shadow:0 20px 60px rgba(63,43,31,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,sans-serif;background:var(--cream);color:var(--brown);line-height:1.6}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.container{width:min(1160px,calc(100% - 40px));margin:auto}.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:rgba(247,241,231,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(81,59,47,.08)}.nav-wrap{min-height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-weight:700}.brand img{width:50px;height:50px;object-fit:cover;border-radius:50%}.main-nav{display:flex;align-items:center;gap:28px;font-size:.95rem}.main-nav a{transition:.25s}.main-nav a:hover{color:var(--terracotta)}.nav-cta{background:var(--terracotta);color:#fff!important;padding:11px 18px;border-radius:999px}.menu-toggle{display:none;border:0;background:none;font-size:1.7rem}.hero{min-height:100vh;display:flex;align-items:center;padding:130px 0 70px;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,rgba(214,165,41,.18),transparent 34%),linear-gradient(135deg,#fbf8f2,#efe1cb)}.hero-glow{position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(168,108,72,.12);filter:blur(30px);right:-100px;bottom:-120px}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.78rem;font-weight:700;color:var(--terracotta)}h1,h2,h3{font-family:"Cormorant Garamond",serif;line-height:1.05;margin:0}h1{font-size:clamp(4rem,8vw,7.5rem);font-weight:600;letter-spacing:-.04em}h1 em{color:var(--terracotta);font-style:normal}.hero-copy>p{font-size:1.15rem;max-width:650px;margin:28px 0}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;padding:15px 23px;border-radius:999px;font-weight:700;border:1px solid transparent;cursor:pointer;font:inherit}.btn-primary{background:var(--terracotta);color:#fff;box-shadow:0 12px 30px rgba(168,108,72,.28)}.btn-secondary{border-color:rgba(81,59,47,.22);background:rgba(255,255,255,.55)}.btn:hover{transform:translateY(-2px)}.hero-points{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;font-size:.9rem}.hero-visual{position:relative}.logo-card{padding:18px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.8);border-radius:40px;box-shadow:var(--shadow);transform:rotate(2deg)}.logo-card img{border-radius:28px}.floating-card{position:absolute;background:#fff;padding:14px 20px;border-radius:18px;box-shadow:var(--shadow);font-weight:700}.card-one{left:-45px;bottom:90px}.card-two{right:-35px;top:70px}.section{padding:110px 0}.section-soft{padding:100px 0;background:#efe3d1}.section-dark{padding:110px 0;background:var(--dark);color:#f9f3ea}.section-heading{max-width:760px;margin-bottom:50px}.section-heading.center{text-align:center;margin-inline:auto}.section-heading h2,.quote h2,.contact h2{font-size:clamp(2.8rem,5vw,4.6rem);margin-top:10px}.section-intro{font-size:1.05rem}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.choice-card{padding:38px;border-radius:28px;background:rgba(255,255,255,.62);border:1px solid rgba(81,59,47,.08);transition:.25s}.choice-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.choice-icon{font-size:2rem}.choice-card h3{font-size:2rem;margin:18px 0 10px}.service-feature{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:70px 0;border-top:1px solid rgba(81,59,47,.13)}.service-feature.reverse>div:first-child{order:2}.service-number{font-weight:700;color:var(--terracotta)}.service-feature h3{font-size:3.3rem;margin:10px 0 18px}.service-feature ul{padding-left:20px}.browser-mockup{background:#fff;border-radius:26px;box-shadow:var(--shadow);overflow:hidden}.browser-bar{padding:16px;background:#eadac4;display:flex;gap:8px}.browser-bar span{width:10px;height:10px;border-radius:50%;background:var(--terracotta)}.mock-content{padding:45px}.mock-title,.mock-text,.mock-grid i{display:block;background:#eadac4;border-radius:12px}.mock-title{height:34px;width:68%;margin-bottom:20px}.mock-text{height:12px;margin:10px 0}.mock-text.short{width:72%}.mock-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:35px}.mock-grid i{height:110px}.support-visual{min-height:370px;border-radius:30px;background:linear-gradient(145deg,#dfc7a6,#b98563);display:grid;grid-template-columns:repeat(2,1fr);place-items:center;font-size:4rem;box-shadow:var(--shadow)}.light h2{color:#fff}.steps-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.step{padding:28px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(255,255,255,.04)}.step strong{color:var(--gold)}.step h3{font-size:2rem;margin:18px 0 8px}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.project-card{background:#fff;border-radius:26px;padding:16px;box-shadow:0 12px 35px rgba(63,43,31,.08)}.project-placeholder{height:240px;border-radius:18px;background:linear-gradient(135deg,#dfc7a6,#a86c48);display:grid;place-items:center;color:#fff;font-size:1.4rem;font-weight:700}.project-card h3{font-size:2rem;margin:20px 8px 8px}.project-card p{margin:0 8px 16px}.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.why-card{padding:28px;background:rgba(255,255,255,.65);border-radius:24px}.why-card span{font-size:1.8rem}.why-card h3{font-size:1.8rem;margin:15px 0 6px}.quote-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}.quote-form{background:#fff;padding:35px;border-radius:28px;box-shadow:var(--shadow)}.quote-form label{display:block;font-weight:700;margin-bottom:18px}.quote-form input,.quote-form select,.quote-form textarea{width:100%;margin-top:8px;border:1px solid #d7c7b4;border-radius:14px;padding:14px 15px;font:inherit;background:#fffaf4}.full{width:100%}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.contact-list{display:grid;gap:12px}.contact-list a,.contact-list div{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.15);display:flex;justify-content:space-between;gap:20px}.contact-list span{color:#d7c2a5}.contact-list strong{text-align:right}footer{background:#1d1714;color:#cbbbad;padding:24px 0}.footer-wrap{display:flex;justify-content:space-between;gap:20px}.whatsapp-float{position:fixed;right:24px;bottom:24px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--terracotta);color:#fff;font-size:1.7rem;box-shadow:0 12px 35px rgba(0,0,0,.24);z-index:900}.reveal{opacity:0;transform:translateY(28px);transition:.75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.menu-toggle{display:block}.main-nav{position:absolute;top:76px;left:20px;right:20px;display:none;flex-direction:column;align-items:stretch;background:#fff7ed;padding:22px;border-radius:20px;box-shadow:var(--shadow)}.main-nav.open{display:flex}.hero-grid,.service-feature,.quote-grid,.contact-grid{grid-template-columns:1fr}.hero-visual{max-width:620px;margin:auto}.steps-grid,.why-grid{grid-template-columns:repeat(2,1fr)}.projects-grid{grid-template-columns:1fr}.service-feature.reverse>div:first-child{order:0}.card-two{right:0}.card-one{left:0}.hero{padding-top:120px}}
@media(max-width:620px){.container{width:min(100% - 28px,1160px)}.hero{min-height:auto}.hero-grid{gap:45px}.hero-actions{flex-direction:column}.btn{width:100%}.hero-points{display:grid;gap:8px}.choice-grid,.steps-grid,.why-grid{grid-template-columns:1fr}.section,.section-soft,.section-dark{padding:78px 0}.service-feature{gap:35px;padding:50px 0}.service-feature h3{font-size:2.6rem}.floating-card{font-size:.8rem}.card-one{bottom:30px}.card-two{top:30px}.contact-list a,.contact-list div,.footer-wrap{flex-direction:column}.contact-list strong{text-align:left}.footer-wrap{gap:0}.brand span{display:none}}

/* Formulario de presupuesto */
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.quote-form label small {
  font-weight: 400;
  opacity: .68;
}

.form-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.quote-form button:disabled {
  cursor: wait;
  opacity: .72;
}

.form-status {
  min-height: 1.5rem;
  margin: .85rem 0 0;
  font-size: .95rem;
  font-weight: 600;
  text-align: center;
}

.form-status.success { color: #4f6f42; }
.form-status.error { color: #9a3f2f; }

.form-privacy {
  margin: .35rem 0 0;
  font-size: .82rem;
  text-align: center;
  opacity: .68;
}

@media (max-width: 680px) {
  .form-grid { grid-template-columns: 1fr; }
}


/* Sección Instagram */
.instagram-section {
  padding: 90px 0;
}

.instagram-card {
  max-width: 860px;
  margin: 0 auto;
  padding: 54px 42px;
  text-align: center;
  border-radius: 32px;
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(81, 59, 47, .08);
  box-shadow: var(--shadow);
}

.instagram-card h2 {
  margin: 10px auto 16px;
  max-width: 680px;
  font-size: clamp(2.6rem, 5vw, 4.3rem);
}

.instagram-card p {
  max-width: 620px;
  margin: 0 auto 28px;
  font-size: 1.05rem;
}

.instagram-icon {
  width: 68px;
  height: 68px;
  margin: 0 auto 20px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: linear-gradient(135deg, #833ab4, #fd1d1d 55%, #fcb045);
  box-shadow: 0 14px 34px rgba(131, 58, 180, .22);
}

.instagram-icon svg,
.instagram-button svg {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
}

.instagram-icon svg {
  width: 34px;
  height: 34px;
  color: #fff;
}

.instagram-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 15px 28px;
  border-radius: 999px;
  color: #fff;
  font-weight: 700;
  background: linear-gradient(90deg, #833ab4, #e1306c 52%, #f77737);
  box-shadow: 0 14px 32px rgba(225, 48, 108, .22);
  transition: transform .25s ease, box-shadow .25s ease;
}

.instagram-button:hover {
  transform: translateY(-3px) scale(1.02);
  box-shadow: 0 18px 38px rgba(225, 48, 108, .3);
}

.instagram-button svg {
  width: 22px;
  height: 22px;
}

@media (max-width: 620px) {
  .instagram-section { padding: 72px 0; }
  .instagram-card { padding: 40px 22px; }
  .instagram-button { width: 100%; }
}

/* Área de clientes */
.client-area-link {
  padding: 10px 16px;
  border: 1px solid rgba(81, 59, 47, .18);
  border-radius: 999px;
  font-weight: 700;
}

.auth-page,
.client-panel-page {
  min-height: 100vh;
  background: #f7f1e8;
}

.auth-layout {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(340px, .85fr) minmax(520px, 1.15fr);
}

.auth-brand-panel {
  padding: clamp(30px, 5vw, 70px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #fff8ef;
  background:
    radial-gradient(circle at 25% 20%, rgba(214, 165, 41, .24), transparent 32%),
    linear-gradient(145deg, #2f241f, #513b2f);
}

.auth-brand {
  display: flex;
  align-items: center;
  gap: 14px;
  font-weight: 700;
}

.auth-brand img {
  width: 58px;
  height: 58px;
  object-fit: cover;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .35);
}

.auth-brand-panel h1 {
  max-width: 660px;
  margin: 18px 0 20px;
  font-size: clamp(3rem, 6vw, 5.7rem);
}

.auth-brand-panel p {
  max-width: 580px;
  font-size: 1.08rem;
  color: #e5d8cb;
}

.auth-back {
  width: fit-content;
  font-weight: 700;
  color: #e7cfaa;
}

.auth-form-panel {
  display: grid;
  place-items: center;
  padding: 45px 24px;
}

.auth-card {
  width: min(100%, 520px);
  padding: clamp(28px, 5vw, 48px);
  border: 1px solid rgba(81, 59, 47, .08);
  border-radius: 30px;
  background: rgba(255, 255, 255, .92);
  box-shadow: var(--shadow);
}

.auth-card-wide { width: min(100%, 720px); }
.auth-card h2 { margin: 8px 0 10px; font-size: clamp(2.7rem, 5vw, 4rem); }
.auth-intro { margin: 0 0 28px; color: #76665d; }

.auth-card label {
  display: block;
  margin-bottom: 18px;
  font-weight: 700;
}

.auth-card label small { font-weight: 400; opacity: .65; }

.auth-card input {
  width: 100%;
  margin-top: 8px;
  padding: 14px 15px;
  border: 1px solid #d7c7b4;
  border-radius: 14px;
  background: #fffaf4;
  font: inherit;
}

.auth-card input:focus,
.quote-form input:focus,
.quote-form select:focus,
.quote-form textarea:focus {
  outline: 3px solid rgba(168, 108, 72, .14);
  border-color: var(--terracotta);
}

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

.auth-grid-full { grid-column: 1 / -1; }
.text-button {
  display: block;
  margin: 16px auto 0;
  border: 0;
  background: none;
  color: var(--terracotta);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.auth-status {
  min-height: 24px;
  margin: 14px 0 0;
  text-align: center;
  font-weight: 700;
}
.auth-status.error { color: #9a3f2f; }
.auth-status.success { color: #4f6f42; }
.auth-switch { margin: 20px 0 0; text-align: center; }
.auth-switch a { color: var(--terracotta); font-weight: 700; }
.new-user-box {
  margin-top: 24px;
  padding-top: 22px;
  border-top: 1px solid rgba(81, 59, 47, .12);
  text-align: center;
}
.new-user-box span {
  display: block;
  margin-bottom: 12px;
  color: #76665d;
  font-weight: 600;
}
.new-user-box .btn {
  text-decoration: none;
}


.panel-header {
  position: sticky;
  top: 0;
  z-index: 20;
  border-bottom: 1px solid rgba(81, 59, 47, .1);
  background: rgba(255, 250, 244, .94);
  backdrop-filter: blur(14px);
}
.panel-nav,
.panel-actions,
.panel-welcome,
.request-card-top,
.request-meta {
  display: flex;
  align-items: center;
}
.panel-nav { min-height: 82px; justify-content: space-between; gap: 20px; }
.panel-actions { gap: 12px; }
.panel-actions .btn { padding: 11px 18px; }
.panel-main { padding: 70px 0 100px; }
.panel-welcome {
  justify-content: space-between;
  gap: 30px;
  padding-bottom: 45px;
  border-bottom: 1px solid rgba(81, 59, 47, .12);
}
.panel-welcome h1 { margin: 10px 0 6px; font-size: clamp(3rem, 6vw, 5rem); }
.panel-welcome p { margin: 0; color: #75665e; }
.panel-content { padding-top: 50px; }
.panel-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  align-items: end;
  margin-bottom: 30px;
}
.panel-section-heading h2 { margin: 8px 0 0; font-size: clamp(2.5rem, 5vw, 4rem); }
.panel-section-heading > p { max-width: 430px; color: #75665e; }
.panel-loading { padding: 24px; text-align: center; }
.requests-list { display: grid; gap: 20px; }
.request-card {
  padding: 28px;
  border: 1px solid rgba(81, 59, 47, .09);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 12px 35px rgba(63, 43, 31, .07);
}
.request-card-top { justify-content: space-between; gap: 20px; align-items: flex-start; }
.request-card h2 { margin: 7px 0 0; font-size: 2.2rem; }
.request-reference { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: #8a776a; }
.request-status {
  flex: 0 0 auto;
  padding: 9px 14px;
  border-radius: 999px;
  font-size: .83rem;
  font-weight: 800;
}
.request-status.received { background: #f5e6c4; color: #745817; }
.request-status.quoted { background: #e8ddf5; color: #604479; }
.request-status.progress { background: #dceaf4; color: #315e79; }
.request-status.completed { background: #dfeedd; color: #3f6740; }
.request-meta { flex-wrap: wrap; gap: 12px 28px; margin: 20px 0 12px; color: #75665e; }
.request-response { margin-top: 18px; padding: 18px; border-radius: 16px; background: #f7f0e7; }
.request-response p { margin: 7px 0 0; }
.empty-state {
  padding: 60px 25px;
  border: 1px dashed #cdb9a4;
  border-radius: 28px;
  text-align: center;
  background: rgba(255, 255, 255, .55);
}
.empty-state span { font-size: 3rem; }
.empty-state h2 { margin: 18px 0 10px; font-size: 2.4rem; }
.empty-state p { max-width: 620px; margin: 0 auto 24px; }

@media (max-width: 920px) {
  .auth-layout { grid-template-columns: 1fr; }
  .auth-brand-panel { min-height: 390px; gap: 45px; }
  .auth-form-panel { padding: 35px 18px 60px; }
}

@media (max-width: 680px) {
  .auth-grid { grid-template-columns: 1fr; }
  .auth-grid-full { grid-column: auto; }
  .panel-nav { align-items: flex-start; padding: 14px 0; }
  .panel-actions { flex-direction: column; align-items: stretch; }
  .panel-actions .btn { width: 100%; }
  .panel-home { display: none; }
  .panel-welcome,
  .panel-section-heading,
  .request-card-top { align-items: stretch; flex-direction: column; }
  .panel-welcome .btn { width: 100%; }
  .request-status { width: fit-content; }
  .request-card { padding: 22px; }
}

/* Panel de administración */
.admin-page{min-height:100vh;background:#f4eee6;color:var(--dark);display:grid;grid-template-columns:270px 1fr}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:270px;padding:28px 20px;display:flex;flex-direction:column;background:#2f241f;color:#fff8ef;z-index:100}.admin-brand{display:flex;align-items:center;gap:13px;padding:0 8px 28px;font-weight:800;line-height:1.25}.admin-brand img{width:54px;height:54px;border-radius:16px;object-fit:cover}.admin-menu{display:grid;gap:8px}.admin-menu-link{border:0;border-radius:14px;padding:14px 16px;text-align:left;background:transparent;color:#dfd0c4;font:inherit;font-weight:700;cursor:pointer}.admin-menu-link:hover,.admin-menu-link.active{background:rgba(255,255,255,.11);color:#fff}.admin-sidebar-bottom{margin-top:auto;display:grid;gap:8px}.admin-sidebar-bottom a,.admin-sidebar-bottom button{border:0;border-radius:12px;padding:12px 14px;background:transparent;color:#dfd0c4;text-align:left;font:inherit;font-weight:700;cursor:pointer}.admin-main{grid-column:2;padding:34px clamp(22px,4vw,58px) 80px;min-width:0}.admin-topbar{display:flex;align-items:center;gap:24px;margin-bottom:28px}.admin-topbar h1{font-size:clamp(2.5rem,5vw,4rem);margin:5px 0 0}.admin-role-badge{margin-left:auto;padding:9px 13px;border-radius:999px;background:#e5d4bd;font-size:.78rem;font-weight:900;letter-spacing:.08em}.admin-mobile-menu{display:none;border:0;background:#fff;border-radius:12px;padding:10px 13px;font-size:1.3rem}.admin-message{min-height:22px;margin:0 0 18px;font-weight:700}.admin-message.success{color:#3f6740}.admin-message.error{color:#9a3f2f}.admin-section{display:none}.admin-section.active{display:block}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.admin-stats article{padding:24px;border-radius:22px;background:#fff;box-shadow:0 10px 30px rgba(63,43,31,.06)}.admin-stats span{display:block;color:#78685f;font-weight:700}.admin-stats strong{display:block;margin-top:8px;font-family:'Cormorant Garamond',serif;font-size:3.4rem;line-height:1}.admin-card{padding:clamp(22px,3vw,34px);border-radius:26px;background:#fff;box-shadow:0 12px 35px rgba(63,43,31,.07)}.admin-card-heading{margin-bottom:24px}.admin-card-heading h2{font-size:clamp(2.2rem,4vw,3.2rem);margin:6px 0 0}.admin-heading-actions{display:flex;justify-content:space-between;align-items:end;gap:20px}.admin-search{width:min(100%,360px);padding:13px 15px;border:1px solid #d7c7b4;border-radius:13px;background:#fffaf4;font:inherit}.admin-request-list{display:grid;gap:16px}.admin-request-item{padding:22px;border:1px solid rgba(81,59,47,.1);border-radius:20px;background:#fffcf8}.admin-request-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.admin-request-header h3{margin:6px 0 0;font-size:1.75rem}.admin-request-item>p{margin:14px 0 0;color:#675950}.request-status.review{background:#f6e7d8;color:#81542f}.admin-request-editor{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;padding-top:20px;border-top:1px solid rgba(81,59,47,.1)}.admin-request-editor label,.admin-form label{font-weight:700}.admin-request-editor input,.admin-request-editor select,.admin-request-editor textarea,.admin-form input,.admin-form select,.admin-form textarea{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #d7c7b4;border-radius:12px;background:#fff;font:inherit}.admin-editor-full,.admin-form-full{grid-column:1/-1}.admin-request-editor .btn{width:fit-content}.admin-table-wrap{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:760px}.admin-table th,.admin-table td{padding:16px 12px;border-bottom:1px solid rgba(81,59,47,.1);text-align:left;vertical-align:middle}.admin-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#7a695f}.admin-table td strong,.admin-table td small{display:block}.admin-table td small{margin-top:4px;color:#7a695f}.role-select{padding:9px 10px;border:1px solid #d7c7b4;border-radius:10px;background:#fffaf4}.role-pill{display:inline-block;padding:8px 11px;border-radius:999px;background:#eee3d5;font-weight:800}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}.admin-form small{font-weight:400}.admin-empty{padding:35px;text-align:center;color:#76665d}.admin-page .request-status{display:inline-block}
@media(max-width:1050px){.admin-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.admin-page{display:block}.admin-sidebar{transform:translateX(-105%);transition:.25s}.admin-menu-open .admin-sidebar{transform:none}.admin-main{padding:22px 16px 60px}.admin-mobile-menu{display:block}.admin-topbar{align-items:flex-start}.admin-role-badge{font-size:.7rem}.admin-stats{grid-template-columns:1fr 1fr}.admin-heading-actions,.admin-request-header{flex-direction:column;align-items:stretch}.admin-search{width:100%}.admin-request-editor,.admin-form-grid{grid-template-columns:1fr}.admin-editor-full,.admin-form-full{grid-column:auto}}
@media(max-width:480px){.admin-stats{grid-template-columns:1fr}.admin-topbar h1{font-size:2.4rem}}

/* Portal 2.0: solicitudes y notificaciones */
.notification-button{position:relative;border:1px solid rgba(81,59,47,.12);background:#fff;border-radius:14px;padding:10px 13px;font-size:1.15rem;cursor:pointer}.notification-button span{position:absolute;top:-7px;right:-7px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#a83f2f;color:#fff;font-size:.72rem;font-weight:900;display:grid;place-items:center}.notification-panel{position:fixed;z-index:210;top:0;right:0;width:min(92vw,430px);height:100vh;padding:28px;background:#fffaf4;box-shadow:-18px 0 45px rgba(36,24,18,.2);transform:translateX(105%);transition:.25s;overflow:auto}.notification-panel.open{transform:none}.notification-overlay{position:fixed;z-index:205;inset:0;background:rgba(32,23,18,.42)}.notification-panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.notification-panel-head h2{margin:5px 0 0;font-size:2.5rem}.notification-panel-head button,.portal-dialog-head button{border:0;background:transparent;font-size:2rem;line-height:1;cursor:pointer}.notification-read-all{margin:18px 0;text-align:left}.notification-list{display:grid;gap:10px}.notification-item{width:100%;padding:16px;border:1px solid rgba(81,59,47,.1);border-radius:16px;background:#fff;text-align:left;font:inherit;cursor:pointer}.notification-item.unread{border-left:5px solid var(--terracotta);background:#fff7ed}.notification-item span{display:block;font-weight:800}.notification-item p{margin:7px 0;color:#675950}.notification-item small{color:#8a776a}.client-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:34px}.client-stats article{padding:22px;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(63,43,31,.06)}.client-stats span{display:block;color:#78685f;font-weight:700}.client-stats strong{display:block;margin-top:6px;font-family:'Cormorant Garamond',serif;font-size:3rem;line-height:1}.client-filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.client-filters input,.client-filters select{padding:12px 14px;border:1px solid #d7c7b4;border-radius:12px;background:#fffaf4;font:inherit}.request-card small{color:#7d6d64}.request-status.review{background:#f6e7d8;color:#81542f}.request-status.cancelled{background:#f1dddd;color:#7a3434}.request-history{margin-top:18px;padding-top:15px;border-top:1px solid rgba(81,59,47,.1)}.request-history summary{font-weight:800;cursor:pointer}.request-history ol{display:grid;gap:11px;margin:15px 0 0;padding-left:20px}.request-history li span,.request-history li small{display:block;margin-top:3px}.request-history li small{color:#8a776a}.portal-dialog{width:min(92vw,760px);max-height:90vh;padding:0;border:0;border-radius:26px;background:transparent;overflow:visible}.portal-dialog::backdrop{background:rgba(35,24,18,.55);backdrop-filter:blur(3px)}.portal-dialog-card{max-height:90vh;overflow:auto;padding:clamp(24px,4vw,38px);border-radius:26px;background:#fffaf4;box-shadow:0 25px 70px rgba(36,24,18,.25)}.portal-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.portal-dialog-head h2{margin:5px 0 0;font-size:clamp(2.5rem,5vw,3.7rem)}.portal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:24px}.portal-form-grid label{font-weight:800}.portal-form-grid input,.portal-form-grid select,.portal-form-grid textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d7c7b4;border-radius:13px;background:#fff;font:inherit}.portal-form-full{grid-column:1/-1}.portal-dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:22px}.admin-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.admin-filter-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.admin-filter-row .admin-search{width:auto;min-width:180px}.notify-check{display:flex!important;align-items:center;gap:10px;font-weight:700!important}.notify-check input{width:auto!important;margin:0!important}.admin-request-header small{display:block;margin-top:4px;color:#7a695f}
@media(max-width:1100px){.admin-stats{grid-template-columns:repeat(3,1fr)}.client-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.client-stats{grid-template-columns:1fr 1fr}.client-filters{width:100%;justify-content:stretch}.client-filters input,.client-filters select{width:100%}.portal-form-grid{grid-template-columns:1fr}.portal-form-full{grid-column:auto}.portal-dialog-actions{flex-direction:column-reverse}.portal-dialog-actions .btn{width:100%}.notification-button{align-self:center}.admin-filter-row{width:100%}.admin-filter-row .admin-search{width:100%}}
@media(max-width:430px){.client-stats{grid-template-columns:1fr}.panel-actions{flex-direction:row;flex-wrap:wrap}.panel-actions #logoutButton{width:auto}}

/* CRM 5.0 */
.admin-menu{overflow:auto;padding-right:3px}.admin-menu-link{white-space:nowrap}.crm-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.crm-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:24px}.crm-simple-list{display:grid;gap:12px}.crm-simple-list article{display:flex;gap:14px;padding:14px;border-radius:15px;background:#fffaf4}.crm-simple-list time{min-width:85px;font-weight:800;color:#8a5a38}.crm-simple-list span{display:block;margin-top:4px;color:#74645b;font-size:.88rem}.crm-source{display:inline-block;padding:6px 9px;border-radius:999px;background:#eee4d8;font-size:.75rem;font-weight:800}.crm-source.online{background:#dcebdc;color:#315f38}.crm-form-note{padding:12px 14px;border-radius:12px;background:#f4eadc;color:#6a574b}.crm-board{display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:14px;overflow:auto}.crm-column{min-height:360px;padding:14px;border-radius:18px;background:#f7f0e7}.crm-column h3{display:flex;justify-content:space-between;align-items:center;margin:0 0 14px}.crm-column h3 span{display:grid;place-items:center;min-width:27px;height:27px;border-radius:999px;background:#fff;font-size:.78rem}.crm-column article{display:grid;gap:7px;margin-bottom:10px;padding:14px;border-radius:14px;background:#fff;box-shadow:0 7px 18px rgba(70,48,35,.06)}.crm-column article span,.crm-column article small{color:#79685d}.crm-column select,.inline-status{padding:9px;border:1px solid #d7c7b4;border-radius:10px;background:#fff;font:inherit}.crm-column-empty{color:#8c7b70;font-size:.9rem}.crm-money-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:18px 20px;border-radius:18px;background:#f6eee3}.crm-money-summary strong{font-size:1.8rem}.crm-timeline{position:relative;display:grid;gap:14px}.crm-timeline:before{content:"";position:absolute;left:112px;top:0;bottom:0;width:2px;background:#ddcdbb}.crm-timeline-item{position:relative;display:grid;grid-template-columns:95px 1fr;gap:35px;padding:16px 0}.crm-timeline-item:before{content:"";position:absolute;left:106px;top:27px;width:14px;height:14px;border:4px solid #fff;border-radius:50%;background:#9c6846}.crm-timeline-item time{font-weight:800;text-align:right}.crm-timeline-item h3{margin:6px 0}.crm-timeline-item p{margin:0;color:#79685d}.crm-event-type{font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#9c6846}.crm-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.crm-kpi-grid article{padding:20px;border-radius:18px;background:#f7f0e7}.crm-kpi-grid span{display:block;color:#75655a}.crm-kpi-grid strong{font-size:2.4rem}.crm-stat-row{margin:16px 0}.crm-stat-row>div:first-child{display:flex;justify-content:space-between;margin-bottom:7px}.crm-bar{height:12px;overflow:hidden;border-radius:999px;background:#ede3d8}.crm-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#b57a50,#78513a)}
@media(max-width:1250px){.crm-stats{grid-template-columns:repeat(3,1fr)}.crm-dashboard-grid{grid-template-columns:1fr}.crm-board{grid-template-columns:repeat(5,240px)}}
@media(max-width:760px){.crm-stats,.crm-kpi-grid{grid-template-columns:1fr 1fr}.crm-timeline:before{left:18px}.crm-timeline-item{grid-template-columns:1fr;padding-left:45px;gap:6px}.crm-timeline-item:before{left:12px}.crm-timeline-item time{text-align:left}.crm-money-summary{align-items:flex-start;flex-direction:column;gap:7px}}
@media(max-width:460px){.crm-stats,.crm-kpi-grid{grid-template-columns:1fr}}

/* Confirmaciones y acciones de incidencias */
.admin-toast{position:fixed;right:28px;bottom:28px;z-index:9999;max-width:min(440px,calc(100vw - 32px));padding:16px 20px;border-radius:15px;background:#2f241f;color:#fff;box-shadow:0 16px 45px rgba(47,36,31,.28);font-weight:800;opacity:0;transform:translateY(18px);pointer-events:none;transition:.25s ease}.admin-toast.show{opacity:1;transform:translateY(0)}.admin-toast.success{background:#37643f}.admin-toast.error{background:#963d32}.request-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.btn-danger{border:1px solid #b85d50;background:#fff;color:#9a3f2f}.btn-danger:hover{background:#9a3f2f;color:#fff}.save-request:disabled,.delete-request:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.admin-toast{right:16px;bottom:16px}.request-actions .btn{width:100%}}
.support-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.support-actions .btn{padding:10px 18px}.support-editor[hidden]{display:none}.save-support:disabled,.delete-support:disabled{opacity:.6;cursor:not-allowed}@media(max-width:600px){.support-actions{justify-content:stretch}.support-actions .btn{flex:1}}
.management-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(120px,.7fr) minmax(150px,.8fr) minmax(220px,1.5fr) auto;gap:18px;align-items:center;padding:18px 20px;border:1px solid rgba(81,59,47,.1);border-radius:17px;background:#fffcf8}.management-main,.management-cell{display:grid;gap:4px;min-width:0}.management-main>strong{font-size:1.15rem}.management-main>small{color:#79685d}.management-cell>span,.management-description>span{color:#8b6f5f;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.management-description{min-width:0}.management-description p{margin:5px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#675950}.management-actions,.support-actions{display:flex;justify-content:flex-end;gap:8px;margin:0}.management-actions .btn,.support-actions .btn{padding:9px 14px;white-space:nowrap}.management-editor{grid-column:1/-1;margin-top:2px}.management-editor[hidden],.project-editor[hidden]{display:none}.save-project:disabled,.delete-project:disabled{opacity:.6;cursor:not-allowed}@media(max-width:1050px){.management-row{grid-template-columns:1.2fr .7fr .8fr auto}.management-description{grid-column:1/-1;grid-row:2}.management-actions,.support-actions{grid-column:4;grid-row:1}}@media(max-width:700px){.management-row{grid-template-columns:1fr}.management-main,.management-cell,.management-description,.management-actions,.support-actions{grid-column:1;grid-row:auto}.management-description p{white-space:normal}.management-actions,.support-actions{justify-content:stretch}.management-actions .btn,.support-actions .btn{flex:1}}
.quick-search-card{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(300px,1.3fr);gap:18px 28px;align-items:center;margin-bottom:24px;padding:24px 28px;border-radius:24px;background:#fff;box-shadow:0 10px 30px rgba(63,43,31,.06)}.quick-search-card h2{margin:4px 0 2px;font-size:2.2rem}.quick-search-card p{margin:0;color:#79685d}.quick-search-card>input{width:100%;padding:15px 18px;border:1px solid #d7c7b4;border-radius:14px;background:#fffaf4;font:inherit}.quick-results{grid-column:1/-1;display:grid;gap:12px}.quick-search-hint{padding:12px 0!important}.quick-result{padding:18px;border:1px solid rgba(81,59,47,.1);border-radius:17px;background:#fffcf8}.quick-result-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.quick-result-head h3{margin:5px 0 3px;font-size:1.45rem}.quick-result-head p{font-size:.88rem}.quick-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.quick-result-grid span{padding:10px 12px;border-radius:11px;background:#f5ede3;color:#6f5f55;font-size:.82rem}.quick-result-grid strong{display:block;color:#30241f;font-size:1.05rem}.client-quick-search{margin-top:24px}@media(max-width:700px){.quick-search-card{grid-template-columns:1fr;padding:20px}.quick-results{grid-column:1}.quick-result-head{flex-direction:column}.quick-result-grid{grid-template-columns:1fr 1fr}}
.client-profile-link{display:grid;gap:2px;padding:0;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}.client-profile-link strong{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:.2s}.client-profile-link:hover strong{color:var(--terracotta);text-decoration-color:currentColor}.client-profile-link small{color:#806e63}.delete-client{padding:9px 15px;white-space:nowrap}.client-protected{color:#8b7b70;font-size:.82rem}.client-profile-dialog{width:min(1100px,calc(100% - 28px));max-width:none}.client-profile-dialog .portal-dialog-card{width:100%;max-width:none}.client-profile-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:24px}.client-profile-summary>div{padding:16px;border-radius:15px;background:#f7f0e7;min-width:0}.client-profile-summary span,.client-profile-summary strong{display:block}.client-profile-summary span{color:#79685d;font-size:.8rem;font-weight:800;text-transform:uppercase}.client-profile-summary strong{margin-top:5px;overflow-wrap:anywhere}.client-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.client-profile-section{padding:18px;border:1px solid rgba(81,59,47,.1);border-radius:18px}.client-profile-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.client-profile-section-title h3{font-size:1.65rem}.client-profile-section-title>span{display:grid;place-items:center;min-width:29px;height:29px;border-radius:999px;background:#eadac4;font-weight:800}.client-profile-items{display:grid;gap:10px;max-height:310px;overflow:auto}.client-profile-items article{padding:14px;border-radius:14px;background:#fffaf4}.client-profile-items article>div{display:flex;justify-content:space-between;gap:12px}.client-profile-items article>div span{color:#79685d;font-size:.82rem}.client-profile-items .request-status{display:inline-block;margin-top:9px}.client-profile-items p{margin:9px 0 0;color:#675950}@media(max-width:760px){.client-profile-summary,.client-profile-grid{grid-template-columns:1fr}.client-profile-items article>div{display:grid;gap:3px}}
.budget-actions{display:flex;gap:8px;align-items:center}.budget-actions .btn{padding:9px 14px;white-space:nowrap}.budget-whatsapp{border-color:#1f9d55;background:#1f9d55;color:#fff}.budget-whatsapp:hover{background:#177c43;color:#fff}.budget-no-phone{color:#8b7b70;font-size:.82rem;white-space:nowrap}.client-budgets-section{margin-top:28px;margin-bottom:70px}.client-budgets-list{display:grid;gap:16px}.client-budget-card{padding:24px;border:1px solid rgba(81,59,47,.1);border-radius:20px;background:#fff}.client-budget-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.client-budget-head h3{font-size:2rem;margin:5px 0 0}.client-budget-amount{font-family:"Cormorant Garamond",serif;font-size:2.4rem;font-weight:700;white-space:nowrap}.client-budget-meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;color:#79685d}.client-budget-confirmation{margin-top:18px;padding-top:18px;border-top:1px solid rgba(81,59,47,.1);display:flex;align-items:center;justify-content:space-between;gap:18px}.client-budget-confirmation p{margin:0}.accept-budget:disabled{opacity:.6;cursor:not-allowed}@media(max-width:650px){.budget-actions,.client-budget-head,.client-budget-confirmation{align-items:stretch;flex-direction:column}.budget-actions .btn{width:100%}.client-budget-amount{font-size:2rem}}
.budget-auto-state{display:grid;align-content:center;padding:12px 14px;border:1px solid #d7c7b4;border-radius:12px;background:#f7f0e7}.budget-auto-state span{font-weight:700}.budget-auto-state strong{color:var(--terracotta)}.budget-auto-state small{color:#79685d}.budget-sent-label{color:#79685d;font-size:.82rem;font-weight:700;white-space:nowrap}.client-budget-decision{display:flex;gap:10px;flex-wrap:wrap}.decide-budget:disabled{opacity:.6;cursor:not-allowed}
.request-compact{padding:18px 22px}.request-compact>p{max-width:900px;margin-top:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.request-card-side{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.request-card-side .btn{padding:9px 15px}.linked-budget-summary{display:inline-block;margin-top:10px;padding:7px 10px;border-radius:999px;background:#f2e7d8;color:#765846;font-size:.82rem;font-weight:800}.request-linked-budget{margin-top:22px;padding:20px;border:1px solid #decdb9;border-radius:18px;background:#fff8ef}.request-linked-budget .request-status{display:inline-block;margin-top:12px}@media(max-width:650px){.request-compact>p{white-space:normal}.request-card-side{align-items:flex-start;justify-content:flex-start}.admin-request-header{flex-direction:column}}
.budgets-table{min-width:980px;table-layout:fixed}.budgets-table th:nth-child(1){width:17%}.budgets-table th:nth-child(2){width:22%}.budgets-table th:nth-child(3){width:13%}.budgets-table th:nth-child(4){width:13%}.budgets-table th:nth-child(5){width:14%}.budgets-table th:nth-child(6){width:21%}.budgets-table td{overflow-wrap:anywhere}.budgets-table td:nth-child(3),.budgets-table td:nth-child(4){white-space:nowrap}.budgets-table .budget-actions{justify-content:flex-end;flex-wrap:wrap}.budgets-table .budget-sent-label{display:inline-flex;padding:8px 10px;border-radius:999px;background:#f2e7d8;color:#765846}.budgets-table .delete-budget{padding:9px 13px}
.crm-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.crm-dashboard-grid.dashboard-single{grid-template-columns:minmax(0,1fr)}
.client-row-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.client-row-actions .btn{padding:9px 13px;white-space:nowrap}#editClientEmail[readonly]{background:#f1ece5;color:#79685d;cursor:not-allowed}#editClientEmailNote{display:block;margin-top:6px;color:#79685d;font-weight:500;line-height:1.35}
.chat-dialog{width:min(760px,calc(100% - 24px));max-width:none}.chat-dialog .portal-dialog-card{width:100%;max-width:none}.chat-messages{height:min(460px,55vh);overflow:auto;display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid #dfd0c0;border-radius:18px;background:#f7f0e7;scroll-behavior:smooth}.chat-message{display:flex;flex-direction:column;max-width:78%}.chat-message>div{padding:12px 15px;border-radius:17px;background:#fff;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message small{margin-top:5px;color:#79685d;font-size:.75rem}.chat-message.mine{align-self:flex-end;align-items:flex-end}.chat-message.mine>div{background:#a86c48;color:#fff;border-bottom-right-radius:5px}.chat-message.theirs{align-self:flex-start}.chat-message.theirs>div{border-bottom-left-radius:5px}.chat-compose{display:grid;gap:10px;margin-top:18px}.chat-compose label{font-weight:800}.chat-compose textarea{width:100%;padding:13px 15px;border:1px solid #d7c7b4;border-radius:14px;background:#fff;font:inherit;resize:vertical}.chat-compose textarea:disabled{background:#eee8e1}.has-unread{border-color:#b06d42;background:#f5dfcd;color:#7e4729;box-shadow:0 0 0 3px rgba(176,109,66,.12)}.request-chat-action{display:flex;justify-content:flex-end;margin-top:18px}@media(max-width:600px){.chat-message{max-width:90%}.chat-dialog .portal-dialog-card{padding:20px}.chat-messages{height:50vh}}
