/* MoodsZen · estilos de la web pública, acceso y administración */
:root{
  --sky-a:#e6dcf6;--sky-b:#f8eef4;--sun:#fbe2d4;--m1:#d3c6ec;--m2:#b09dd9;--m3:#8e7bc2;--m4:#6c5a9e;--plant:#4f416f;
  --mist:#f2eef9;
  --paper:#fffdfc;
  --ink:#352b40;
  --ink-soft:#6f6479;
  --line:#e4dcef;
  --accent:#76558f;
  --accent-deep:#574a78;
  --accent-wash:#e9e1f4;
  --ok:#3f8a74;
  --warn:#b0612f;
  --danger:#b2434e;
  --hand:"Caveat","Segoe Print","Bradley Hand",cursive;
  --sans:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r-lg:28px;--r-md:16px;--r-sm:10px;
}
html[data-scene="azul"]{--sky-a:#d6e7f8;--sky-b:#f1f6fc;--sun:#fde6d4;--m1:#bed4ec;--m2:#8fb3db;--m3:#5f8fc0;--m4:#3e6c9a;--plant:#2c5274;--mist:#edf3fa;--accent:#3f74a3;--accent-deep:#255f7f;--accent-wash:#dde9f5;--line:#d9e5f1}
html[data-scene="arena"]{--sky-a:#f5e2cf;--sky-b:#fbf4ec;--sun:#f6cda6;--m1:#edd4b8;--m2:#dcb48d;--m3:#c4935f;--m4:#99693f;--plant:#5f6446;--mist:#f8f0e7;--accent:#9a6b44;--accent-deep:#76593f;--accent-wash:#f1e3d3;--line:#eddfcf}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--mist);color:var(--ink);font:400 1rem/1.6 var(--sans);transition:background-color .5s}
img{max-width:100%;display:block}
a{color:var(--accent-deep)}
a:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Marca */
.brand{white-space:nowrap;display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;color:var(--accent-deep);font:600 2rem/1 var(--hand)}
.brand svg{width:30px;height:30px;flex:none}
.brand:hover{color:var(--accent-deep)}

/* Botones */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:46px;padding:.65rem 1.25rem;border-radius:999px;border:1.5px solid transparent;font:800 .95rem/1.1 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn-main{background:var(--accent-deep);color:#fff}
.btn-main:hover{background:var(--accent);color:#fff}
.btn-line{background:transparent;border-color:color-mix(in srgb,var(--accent-deep) 40%,transparent);color:var(--accent-deep)}
.btn-line:hover{border-color:var(--accent-deep);color:var(--accent-deep);background:rgba(255,255,255,.5)}
.btn-quiet{background:transparent;color:var(--accent-deep);padding-inline:.6rem}
.btn-danger{background:var(--danger);color:#fff}
.btn-sm{min-height:36px;padding:.4rem .85rem;font-size:.85rem}
.btn[disabled]{opacity:.55;cursor:default}

/* ============ LANDING ============ */
.top{position:absolute;inset:0 0 auto;z-index:5}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:18px}
.top nav{display:flex;gap:6px;align-items:center}

/* Paisaje (SVG que cambia de color con el tema) */
.ls{display:block;width:100%;height:100%}
.ls path,.ls circle,.ls ellipse{transition:fill .8s ease,stroke .8s ease}
.ls stop{transition:stop-color .8s ease}
.ls-sun{fill:var(--sun)}.ls-m1{fill:var(--m1)}.ls-m2{fill:var(--m2)}.ls-m3{fill:var(--m3)}.ls-m4{fill:var(--m4)}
.ls-plant{fill:var(--plant);stroke:var(--plant)}

.hero{padding-block:104px 40px}
.hero-grid{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,9fr);gap:clamp(28px,5vw,72px);align-items:center}
.arch{aspect-ratio:5/6;border-radius:999px 999px 32px 32px;overflow:hidden;box-shadow:0 30px 60px -30px color-mix(in srgb,var(--accent-deep) 55%,transparent);background:var(--sky-b)}
.hero h1{margin:0;font:700 clamp(3.6rem,9vw,6.6rem)/.92 var(--hand);color:var(--accent-deep);letter-spacing:-.01em}
.hero p.lead{margin:1.1rem 0 1.8rem;font-size:clamp(1.05rem,2vw,1.2rem);max-width:30em;color:var(--ink)}
.hero .ctas{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.scene-pick{display:flex;align-items:center;gap:12px;margin-top:2rem;font-size:.9rem;color:var(--ink-soft);font-weight:700}
.scene-pick div{display:flex;gap:8px}
.scene-pick button{width:44px;height:44px;border-radius:50%;border:3px solid #fff;padding:0;cursor:pointer;background-size:cover;background-position:center;box-shadow:0 3px 12px rgba(40,30,60,.18);transition:transform .2s}
.scene-pick button[aria-pressed="true"]{transform:scale(1.12);box-shadow:0 0 0 3px var(--accent-deep),0 3px 12px rgba(40,30,60,.2)}
.scene-pick button[data-s="lavanda"]{background-image:url(/assets/mini-lavanda.png)}
.scene-pick button[data-s="azul"]{background-image:url(/assets/mini-azul.png)}
.scene-pick button[data-s="arena"]{background-image:url(/assets/mini-arena.png)}

/* Día en la app */
.day{padding-block:72px 40px}
.day-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:56px;align-items:start}
.day h2,.section h2{font:700 clamp(2.4rem,5vw,3.4rem)/1 var(--hand);color:var(--accent-deep);margin:0 0 .8rem}
.day .intro p{max-width:34em;color:var(--ink-soft);margin:0 0 1rem}
.journal{background:var(--paper);border-radius:var(--r-lg);padding:28px 28px 20px;box-shadow:0 18px 50px -24px rgba(60,40,90,.35);position:relative}
.journal::before{content:"";position:absolute;left:58px;top:0;bottom:0;width:1.5px;background:color-mix(in srgb,var(--accent) 22%,transparent)}
.journal-date{font:600 1.6rem/1 var(--hand);color:var(--accent);margin:0 0 14px 44px}
.journal ol{list-style:none;margin:0;padding:0}
.journal li{display:grid;grid-template-columns:30px 1fr;gap:14px;padding:12px 0;border-top:1px dashed var(--line);align-items:baseline}
.journal li:first-child{border-top:0}
.journal .dot{width:12px;height:12px;border-radius:50%;margin:6px 0 0 9px}
.journal b{display:block;font-size:.8rem;font-weight:800;color:var(--ink-soft)}
.journal span.hand{font:500 1.45rem/1.15 var(--hand);color:var(--ink)}
.d-man{background:#ae7ed1}.d-goal{background:#e2a15e}.d-auto{background:#64aa9d}.d-pro{background:#d66f78}.d-com{background:#5f8fc0}.d-mood{background:#c9b04f}

/* Lista de funciones */
.section{padding-block:56px}
.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 40px;margin-top:2rem;padding:0;list-style:none}
.features li{border-top:2px solid var(--accent-wash);padding-top:16px}
.features h3{margin:0 0 .35rem;font-size:1.05rem;font-weight:800}
.features p{margin:0;color:var(--ink-soft);font-size:.95rem}

.quote{padding-block:40px 72px}
.quote blockquote{margin:0 auto;max-width:860px;text-align:center;font:600 clamp(2rem,4.6vw,3.2rem)/1.08 var(--hand);color:var(--accent-deep)}
.quote p{text-align:center;color:var(--ink-soft);max-width:36em;margin:1.2rem auto 0}

.closing{padding-block:20px 80px}
.closing-box{background:var(--accent-deep);color:#fff;border-radius:var(--r-lg);padding:clamp(28px,5vw,56px);display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between}
.closing-box h2{margin:0;font:700 clamp(2.2rem,5vw,3.2rem)/1 var(--hand);color:#fff}
.closing-box p{margin:.4rem 0 0;opacity:.85}
.closing-box .btn-main{background:#fff;color:var(--accent-deep)}
.closing-box .btn-main:hover{background:var(--accent-wash);color:var(--accent-deep)}

.foot{border-top:1px solid var(--line);padding-block:28px 40px;font-size:.88rem;color:var(--ink-soft)}
.foot .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center}
.foot nav{display:flex;flex-wrap:wrap;gap:6px 20px}
.foot a{color:var(--ink-soft)}

@media (max-width:860px){
  .hero{padding-top:84px}
  .hero-grid{grid-template-columns:1fr}
  .arch{order:-1;aspect-ratio:auto;height:min(52vh,380px);max-width:520px;width:100%;margin-inline:auto}
  .day-grid{grid-template-columns:1fr;gap:28px}
  .features{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .features{grid-template-columns:1fr;gap:24px}
  .top .btn-line{display:none}
  .brand{font-size:1.7rem}
  .top nav .btn-sm{padding-inline:.7rem}
  .journal{padding:22px 18px 14px}
  .journal::before{left:44px}
  .journal-date{margin-left:36px}
}

/* ============ ACCESO (entrar / registro / cuenta) ============ */
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.auth-art{position:relative;overflow:hidden;background:var(--sky-b)}
.auth-art .ls{position:absolute;inset:0}
.auth-art p{position:absolute;z-index:1;left:40px;right:40px;top:56px;margin:0;font:600 clamp(2rem,3.4vw,2.8rem)/1.05 var(--hand);color:var(--accent-deep)}
.auth-main{display:flex;flex-direction:column;padding:24px clamp(20px,5vw,64px) 40px;background:var(--paper)}
.auth-main header{display:flex;justify-content:space-between;align-items:center;gap:12px}
.auth-box{width:100%;max-width:400px;margin:auto;padding-block:40px}
.auth-box h1{font:700 2.8rem/1 var(--hand);color:var(--accent-deep);margin:0 0 .4rem}
.auth-box > p{color:var(--ink-soft);margin:0 0 1.6rem}
.field{display:block;margin-bottom:1rem}
.field span{display:block;font-weight:800;font-size:.88rem;margin-bottom:.35rem}
.field small{display:block;color:var(--ink-soft);font-size:.8rem;margin-top:.3rem}
.input{width:100%;min-height:48px;padding:.7rem .9rem;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#fff;color:var(--ink);font:500 1rem var(--sans)}
.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}
.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.88rem;margin:.4rem 0 1.2rem;color:var(--ink-soft)}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--accent-deep);flex:none}
.auth-box .btn{width:100%}
.switch{margin-top:1.4rem;text-align:center;font-size:.92rem;color:var(--ink-soft)}
.msg{border-radius:var(--r-sm);padding:.75rem .9rem;margin-bottom:1.1rem;font-size:.92rem;font-weight:600}
.msg-err{background:#fbeaec;color:#8a2a35}
.msg-ok{background:#e5f3ee;color:#22604f}
.msg-info{background:var(--accent-wash);color:var(--accent-deep)}
@media (max-width:820px){
  .auth{grid-template-columns:1fr;grid-template-rows:200px auto}
  .auth-art p{display:none}
  .auth-box{padding-block:28px}
}

/* ============ CUENTA ============ */
.page{min-height:100vh;background:var(--mist)}
.page-head{background:var(--paper);border-bottom:1px solid var(--line)}
.page-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:14px}
.page-head nav{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.page-body{padding-block:32px 64px}
.page-body h1{font:700 clamp(2.4rem,5vw,3.2rem)/1 var(--hand);color:var(--accent-deep);margin:0 0 .3rem}
.page-body > .wrap > p.sub{color:var(--ink-soft);margin:0 0 1.6rem}
.panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:22px;margin-bottom:18px}
.panel h2{font-size:1.05rem;margin:0 0 .3rem}
.panel > p{color:var(--ink-soft);font-size:.92rem;margin:0 0 1rem}
.panel form{max-width:420px}
.panel-danger{border-color:#efc9cd}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}

/* ============ ADMINISTRACIÓN ============ */
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}
.kpi{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px}
.kpi b{display:block;font-size:1.9rem;line-height:1.1;font-weight:900;color:var(--accent-deep);font-variant-numeric:tabular-nums}
.kpi span{font-size:.85rem;color:var(--ink-soft);font-weight:700}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:12px}
.toolbar form{display:flex;gap:8px;flex:1;max-width:460px}
.toolbar .input{min-height:42px}
.table-wrap{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-md);overflow-x:auto}
table.users{width:100%;border-collapse:collapse;font-size:.9rem;min-width:860px}
.users th,.users td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.users th{font-size:.78rem;color:var(--ink-soft);font-weight:800;background:color-mix(in srgb,var(--mist) 60%,#fff);white-space:nowrap}
.users th a{color:inherit;text-decoration:none}
.users th a:hover{color:var(--accent-deep)}
.users tr:last-child td{border-bottom:0}
.users td.num{font-variant-numeric:tabular-nums;text-align:right}
.users th.num{text-align:right}
.users .who b{display:block;font-weight:800}
.users .who{min-width:230px}.users .who span{color:var(--ink-soft);font-size:.84rem;overflow-wrap:anywhere}
.tag{display:inline-block;font-size:.74rem;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--accent-wash);color:var(--accent-deep);white-space:nowrap}
.tag-off{background:#fbeaec;color:#8a2a35}
.tag-admin{background:var(--accent-deep);color:#fff}
.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.row-actions form{margin:0}
.pager{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:16px;font-size:.9rem;color:var(--ink-soft)}
.empty{padding:40px 20px;text-align:center;color:var(--ink-soft)}
.temp-pass{font:800 1.2rem/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;background:#fff;border:1.5px dashed var(--accent);border-radius:var(--r-sm);padding:.5rem .8rem;display:inline-block;margin:.3rem 0;user-select:all}
@media (max-width:760px){
  .kpis{grid-template-columns:1fr 1fr}
  .page-head .wrap{flex-wrap:wrap;gap:4px;padding-block:10px 6px}
  .page-head nav{width:100%;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin-inline:-6px;padding-bottom:4px;scrollbar-width:none}
  .page-head nav::-webkit-scrollbar{display:none}
}

@media (max-width:420px){.top nav .btn-quiet{display:none}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
}
