/* CRM Vero Coleto · misma identidad que verocoleto.com (Tenor Sans + Inter, verde #2b7a78, oro #c89b5a) */
:root{--accent:#2b7a78;--accent-2:#3d8e8c;--gold:#c89b5a;--gold-2:#d4ae73;--bg:#f7f5f2;--card:#fff;--ink:#1f2328;--muted:#5c6670;--line:rgba(31,35,40,.12);--ok:#2e7d32;--warn:#b26a00;--err:#b3261e;--r:14px}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--ink);font:15px/1.5 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;padding-bottom:84px}
h1,h2,.brand{font-family:"Tenor Sans",Georgia,serif;font-weight:400;letter-spacing:.01em}
h1{font-size:1.7rem;margin:.2rem 0 .6rem}
h2{font-size:1.15rem;margin:0 0 .7rem}
a{color:var(--accent)}
.wrap{max-width:1180px;margin:0 auto;padding:16px}
.muted,.hint,small{color:var(--muted)}
.hint{font-size:.85rem;margin:.3rem 0 0}
/* Cabecera */
.top{display:flex;align-items:center;gap:18px;padding:12px 20px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.brand{color:var(--ink);text-decoration:none;font-size:1.25rem;white-space:nowrap}
.brand span{color:var(--gold);font-size:.8em;margin-left:4px;letter-spacing:.2em}
.brand.big{font-size:1.8rem;text-align:center}
.nav{display:flex;gap:4px;flex:1}
.nav a{padding:8px 12px;border-radius:999px;text-decoration:none;color:var(--muted)}
.nav a.on,.nav a:hover{background:var(--bg);color:var(--ink)}
.logout{margin:0}
/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-weight:500;text-decoration:none;cursor:pointer;min-height:42px}
.btn:hover{border-color:var(--accent)}
.btn-accent{background:var(--accent);border-color:var(--accent);color:#fff}
.btn-accent:hover{background:var(--accent-2)}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn-wa{background:#25d366;border-color:#25d366;color:#fff}
.btn-sm{padding:6px 12px;min-height:34px;font-size:.9rem}
.btn.danger,.link.danger{color:var(--err)}
.link{background:none;border:0;color:var(--muted);font:inherit;cursor:pointer;padding:4px 6px;text-decoration:underline}
.w100{width:100%}
/* Avisos */
.flash{padding:10px 14px;border-radius:10px;margin:0 0 12px;background:#eef6f6;border:1px solid #cfe4e3}
.flash-ok{background:#edf7ee;border-color:#c8e6c9}
.flash-warn{background:#fff6e5;border-color:#ffe0a6}
.flash-error{background:#fdecea;border-color:#f5c2bd;color:var(--err)}
/* Tarjetas y rejillas */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:0 0 14px}
.card.center{text-align:center;max-width:520px;margin:40px auto}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid2 .card{margin:0}
.head-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.btns{display:flex;gap:8px;flex-wrap:wrap}
.crumb{margin:0;font-size:.85rem;color:var(--muted)}
.crumb a{color:var(--muted)}
.sub{margin:.1rem 0 0;color:var(--muted)}
.hello{margin-bottom:12px}
/* KPIs */
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;gap:2px}
.kpi b{font-family:"Tenor Sans",serif;font-weight:400;font-size:2rem;line-height:1}
.kpi span{color:var(--muted);font-size:.85rem}
.kpi.warn b{color:var(--warn)}.kpi.alert b{color:var(--err)}.kpi.accent b{color:var(--accent)}.kpi.gold b{color:var(--gold)}
/* Listas */
.list{list-style:none;margin:0;padding:0}
.list li{border-top:1px solid var(--line)}
.list li:first-child{border-top:0}
.list a{display:block;padding:9px 0;color:var(--ink);text-decoration:none}
.list small{display:block}
.list li.late a b{color:var(--err)}
.rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rows a{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--ink);text-decoration:none}
.rows .row-static{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.rows .row-static .st{grid-row:span 3}
.small-foot{font-size:.85rem;margin-top:14px}
.rows a:hover{border-color:var(--accent)}
.rows .st{grid-row:span 3;align-self:start}
.rows .svc{color:var(--ink)}
.rows small{grid-column:2}
/* Estados */
.st{display:inline-block;font-size:.75rem;font-weight:600;padding:3px 9px;border-radius:999px;background:#eceae6;color:var(--ink);white-space:nowrap}
.st-nueva{background:#e3f0ef;color:var(--accent)}
.st-pendiente_contestar{background:#fff1d6;color:var(--warn)}
.st-presupuesto_enviado,.st-valorando,.st-seguimiento_pendiente{background:#f3ead9;color:#8a6327}
.st-reservada{background:var(--gold);color:#fff}
.st-perdida,.st-cancelada{background:#eee;color:var(--muted)}
.st-no_contactar{background:#fdecea;color:var(--err)}
/* Barras */
.bar{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:10px;margin:6px 0;font-size:.9rem}
.bar i{display:block;height:10px;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--gold));width:0;transition:width .6s}
.bar em{font-style:normal;color:var(--muted);font-size:.85rem}
/* Formularios */
.form fieldset{border:0;padding:0;margin:0 0 10px}
.form legend{font-family:"Tenor Sans",serif;font-size:1.1rem;margin-bottom:6px}
label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted);margin:0 0 10px}
input,select,textarea{font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-height:42px;width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(43,122,120,.25);border-color:var(--accent)}
.cols3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.actions{display:flex;gap:10px;margin-top:6px}
.filters{display:grid;grid-template-columns:1fr 200px 200px auto;gap:8px;margin-bottom:12px}
details summary{cursor:pointer;color:var(--accent);margin:6px 0}
.inline{display:inline}
.fu{padding:8px 0;border-bottom:1px solid var(--line)}
.fu-form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:8px}
.fu-form.small{grid-template-columns:auto auto;justify-content:start}
.state-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-bottom:10px}
.msg-form{display:grid;gap:8px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.msg-form .btn{justify-self:start}
.msg-opts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.note-form{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-bottom:10px}
.kv{display:grid;grid-template-columns:130px 1fr;gap:4px 10px;margin:0}
.kv dt{color:var(--muted)}.kv dd{margin:0}
.notes{background:var(--bg);border-radius:10px;padding:10px 12px;white-space:normal}
/* Historial */
.timeline{list-style:none;margin:0;padding:0}
.timeline li{border-left:2px solid var(--line);padding:4px 0 10px 14px;margin-left:4px;position:relative}
.timeline li::before{content:"";position:absolute;left:-6px;top:9px;width:10px;height:10px;border-radius:50%;background:var(--line)}
.timeline li p{margin:2px 0 0}
.timeline .msg-in::before{background:var(--accent)}
.timeline .msg-out::before{background:var(--gold)}
.timeline .msg p{background:var(--bg);border-radius:10px;padding:8px 10px}
.timeline .ev-estado::before{background:var(--gold)}
/* Login */
.login-body{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:16px}
.login-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;width:100%;max-width:380px}
.login-card .muted{text-align:center;margin:.2rem 0 1.2rem}
/* Barra inferior (móvil) */
.tabbar{display:none}
@media (max-width:900px){
  .kpis{grid-template-columns:repeat(3,1fr)}
  .grid2,.cols3{grid-template-columns:1fr}
  .filters{grid-template-columns:1fr 1fr}
  .filters input{grid-column:1/-1}
  .nav,.hide-m{display:none}
  .top{justify-content:space-between}
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom));z-index:10}
  .tabbar a{display:flex;flex-direction:column;align-items:center;font-size:.72rem;color:var(--muted);text-decoration:none;gap:2px}
  .tabbar a span{font-size:1.15rem;line-height:1}
  .tabbar a.on{color:var(--accent)}
  .tabbar a.plus span{background:var(--gold);color:#fff;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem}
  .state-form,.note-form,.fu-form,.msg-opts{grid-template-columns:1fr}
  .bar{grid-template-columns:100px 1fr auto}
  h1{font-size:1.45rem}
}
@media (max-width:420px){.kpis{grid-template-columns:repeat(2,1fr)}.kpi b{font-size:1.7rem}}
