/* HINA · estilos comunes */
:root{
  --olive:#585D3D;
  --olive-deep:#454A30;
  --cream:#F4EFE1;
  --cream-2:#EAE3D2;
  --surface:#FBF8F1;
  --plum:#5C3A52;
  --plum-deep:#4A2E42;
  --plum-soft:#EFE3EA;
  --pink:#EDC4C6;
  --ink:#2B2922;
  --ink-soft:#6B675C;
  --line:rgba(43,41,34,.13);
  --danger:#9E3B3B;
  --good:#4E6B45;
  --radius:14px;
  --shadow:0 1px 2px rgba(43,41,34,.05),0 10px 30px rgba(43,41,34,.06);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Montserrat',system-ui,-apple-system,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
[hidden]{display:none!important}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;margin:0;text-wrap:balance}
button,input,textarea,select{font:inherit;color:inherit}

/* Marca */
.wordmark{font-family:var(--serif);font-weight:500;text-transform:uppercase;letter-spacing:.36em;padding-left:.36em;font-size:1.05em}
.eyebrow{font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--olive)}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;padding:13px 26px;font-size:.88rem;font-weight:500;letter-spacing:.04em;cursor:pointer;text-decoration:none;background:var(--plum);color:var(--cream);transition:background .2s,opacity .2s}
.btn:hover{background:var(--plum-deep)}
.btn:disabled{opacity:.55;cursor:default}
.btn.olive{background:var(--olive)}
.btn.olive:hover{background:var(--olive-deep)}
.btn.ghost{background:transparent;color:var(--plum);box-shadow:inset 0 0 0 1px var(--plum)}
.btn.ghost:hover{background:var(--plum-soft)}
.btn.block{width:100%}
.btn.small{padding:9px 16px;font-size:.8rem}
.linkbtn{background:none;border:none;padding:0;color:var(--plum);cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-size:.82rem}

/* Formularios */
.field{margin-bottom:16px}
.field label{display:block;font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--olive);margin-bottom:7px}
.input,textarea.input,select.input{width:100%;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);font-size:.95rem}
.input:focus{outline:2px solid var(--pink);outline-offset:1px;border-color:transparent}
textarea.input{min-height:96px;resize:vertical}
.msg{font-size:.84rem;border-radius:10px;padding:10px 12px;margin-bottom:14px}
.msg.error{background:#F6E4E2;color:var(--danger)}
.msg.ok{background:#E6ECDF;color:var(--good)}

/* Tarjetas */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px 22px}
.card+.card{margin-top:14px}

/* Pantalla de acceso */
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 16px}
.auth-card{width:100%;max-width:400px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:36px 28px 30px;box-shadow:var(--shadow);text-align:center}
.auth-card .logo{width:132px;margin:0 auto 14px}
.auth-card h1{font-size:1.7rem;margin-bottom:4px}
.auth-card .sub{font-size:.86rem;color:var(--ink-soft);margin:0 0 24px}
.auth-card form{text-align:left}
.auth-foot{font-size:.78rem;color:var(--ink-soft);margin-top:18px}

/* Aviso flotante */
.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%) translateY(20px);background:var(--olive);color:var(--cream);padding:11px 20px;border-radius:999px;font-size:.84rem;opacity:0;pointer-events:none;transition:all .25s;z-index:500;max-width:calc(100% - 32px);text-align:center}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.toast.error{background:var(--danger)}

.loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--ink-soft);font-size:.9rem;letter-spacing:.05em}
