/* EstouFeliz v3.3 — app rápido, PWA, tema manual e campos de senha */
.ef-theme-fab,[data-theme-toggle]{appearance:none;border:1px solid var(--line2);background:var(--paper);color:var(--ink);width:44px;height:44px;border-radius:14px;display:inline-grid;place-items:center;cursor:pointer;font-size:20px;box-shadow:var(--lift)}
.ef-theme-fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:70}
.ef-passwrap{position:relative}.ef-passwrap>input{padding-right:52px!important}.ef-pass-eye{position:absolute;right:7px;top:50%;transform:translateY(-50%);appearance:none;border:0;background:transparent;width:40px;height:40px;border-radius:10px;cursor:pointer;font-size:18px}.ef-pass-eye:hover{background:var(--sunk)}

/* ----- registro rápido ----- */
.quick-body{min-height:100dvh;background:linear-gradient(145deg,color-mix(in srgb,var(--fog) 93%,#fff),var(--fog));overflow-x:hidden}
.quick-shell{width:min(760px,100%);min-height:100dvh;margin:auto;padding:calc(12px + env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column}
.quick-top{display:flex;align-items:center;gap:8px;margin-bottom:18px}.quick-nav{display:flex;gap:8px}.quick-iconbtn{appearance:none;border:1px solid var(--line2);background:var(--paper);color:var(--ink);width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font:700 22px/1 system-ui;cursor:pointer;box-shadow:0 6px 18px -14px rgba(40,30,80,.35)}.quick-iconbtn:active{transform:scale(.96)}
.quick-top-spacer{flex:1}.quick-sync{appearance:none;border:1px solid var(--line2);background:var(--paper);color:var(--ink2);min-height:44px;border-radius:999px;padding:0 13px;display:flex;align-items:center;gap:7px;font:600 13px/1 var(--font);cursor:pointer}.quick-sync i{width:10px;height:10px;border-radius:50%;background:#70b343}.quick-sync.pending i{background:var(--sun)}.quick-sync.offline i{background:var(--danger)}
.quick-brand{display:flex;justify-content:center;margin:1px 0 10px}.quick-brand .brand{align-items:center}.quick-brand .brandwave{width:78px}.quick-brand .brandword{font-size:23px}
.quick-title-row{display:flex;align-items:center;justify-content:center;gap:10px;margin:4px 0 18px}.quick-title-row h1{font-size:clamp(32px,8vw,52px);text-align:center;font-weight:650;letter-spacing:-.045em}.quick-help{appearance:none;border:1px solid var(--line2);background:var(--paper);color:var(--ink);width:38px;height:38px;border-radius:50%;font:800 18px/1 var(--font);cursor:pointer;flex:none}
.quick-moods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:color-mix(in srgb,var(--paper) 94%,transparent);padding:14px;border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:30px;box-shadow:var(--lift)}
.quick-mood{appearance:none;border:1px solid var(--line);background:var(--paper);color:var(--ink);min-height:142px;border-radius:24px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:.16s transform,.16s box-shadow,.16s border-color}.quick-mood:hover{transform:translateY(-2px);box-shadow:var(--lift)}.quick-mood:active{transform:scale(.97)}.quick-mood.picked{border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent),var(--lift)}.quick-mood .emo{font-size:clamp(42px,11vw,66px);line-height:1}.quick-mood small{font-size:14px;font-weight:700;color:var(--ink2)}
.quick-detail-open{appearance:none;width:100%;margin:18px 0 0;border:1px solid var(--line2);background:var(--paper);color:var(--ink);border-radius:24px;padding:17px 18px;display:flex;align-items:center;gap:10px;font:700 17px/1.2 var(--font);cursor:pointer;box-shadow:var(--lift)}.quick-detail-open .plus{margin-left:auto;font-size:28px;color:#ef7757;font-weight:300}.quick-links{display:flex;justify-content:center;gap:10px;margin:16px 0 0}.quick-links a{text-decoration:none}
.quick-toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));transform:translate(-50%,20px);z-index:90;background:var(--ink);color:var(--paper);padding:11px 16px;border-radius:999px;font-weight:600;opacity:0;pointer-events:none;transition:.2s}.quick-toast.on{opacity:1;transform:translate(-50%,0)}
.quick-modal{position:fixed;inset:0;z-index:100;display:none;align-items:flex-end;justify-content:center}.quick-modal.on{display:flex}.quick-modal-bg{position:absolute;inset:0;background:rgba(16,18,24,.54);backdrop-filter:blur(5px)}.quick-modal-card{position:relative;width:min(720px,100%);max-height:88dvh;overflow:auto;background:var(--paper);border-radius:30px 30px 0 0;padding:22px 18px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -20px 80px rgba(0,0,0,.22)}.quick-modal-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:18px}.quick-modal-head h2{font-size:24px}.quick-close{appearance:none;border:0;background:var(--sunk);color:var(--ink);width:42px;height:42px;border-radius:14px;font-size:24px;cursor:pointer}.quick-modal-actions{position:sticky;bottom:0;background:linear-gradient(180deg,transparent,var(--paper) 24%);padding-top:20px;display:flex;gap:10px}.quick-modal-actions .btn{flex:1}
.quick-helptext{font-size:17px;line-height:1.6;color:var(--ink2);margin:0}.quick-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quick-detail-grid .full{grid-column:1/-1}.quick-detail-grid .field{margin:0}.quick-detail-grid textarea{min-height:92px;font-family:var(--font);font-style:normal;font-size:16px}
.quick-slider{display:grid;gap:7px}.quick-slider label{font-size:13px;font-weight:650;color:var(--ink2)}.quick-slider input[type=range]{width:100%;accent-color:var(--focus)}
.quick-mini-note{font-size:12px;color:var(--muted);margin-top:9px;text-align:center}
@media(max-width:560px){.quick-shell{padding-left:12px;padding-right:12px}.quick-top{margin-bottom:10px}.quick-iconbtn{width:44px;height:44px}.quick-sync{padding:0 10px}.quick-moods{gap:8px;padding:10px;border-radius:25px}.quick-mood{min-height:118px;border-radius:20px}.quick-detail-grid{grid-template-columns:1fr}.quick-detail-grid .full{grid-column:auto}}
@media(max-width:370px){.quick-mood{min-height:106px}.quick-mood .emo{font-size:38px}.quick-mood small{font-size:12px}.quick-sync span{display:none}}

/* ----- diário leve ----- */
.diary-shell{width:min(900px,100%);margin:auto;padding:calc(16px + env(safe-area-inset-top)) 16px calc(36px + env(safe-area-inset-bottom))}.diary-top{display:flex;align-items:center;gap:10px;margin-bottom:20px}.diary-top .brand{margin-right:auto}.diary-hero{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:14px 0 20px}.diary-hero h1{font-size:clamp(30px,6vw,46px)}.diary-list{display:grid;gap:12px}.diary-item{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:17px;display:grid;grid-template-columns:auto 1fr;gap:14px;box-shadow:0 10px 28px -24px rgba(50,40,100,.35)}.diary-emo{font-size:38px;line-height:1}.diary-item time{font-size:12px;color:var(--muted)}.diary-item h3{font-size:18px;margin:1px 0 5px}.diary-item p{margin:0;color:var(--ink2)}.diary-empty{background:var(--paper);border-radius:22px;padding:24px;text-align:center;color:var(--muted)}
/* identidade das três portas dentro do app rápido/diário */
body.theme-feliz{--focus:#7f6bc4;--teal:#3f8f89;--sun:#f0b730;--scale:linear-gradient(90deg,#3f8f89,#68a4c4,#a794dc,#eca07a,#f2bc34)}
body.theme-triste{--focus:#6f62bc;--teal:#2a8cac;--sun:#a988ee;--scale:linear-gradient(90deg,#2aa7c9,#315eae,#6f62bc,#a988ee)}
body.theme-alegre{--focus:#18a99f;--teal:#17b9c2;--sun:#ffd52f;--scale:linear-gradient(90deg,#17b9c2,#30d3a6,#ffd52f,#ff9b43,#ff6372)}
body.theme-triste.quick-body{background:radial-gradient(circle at 85% 8%,rgba(169,136,238,.16),transparent 35%),linear-gradient(145deg,var(--fog),color-mix(in srgb,var(--fog) 91%,#315eae))}
body.theme-alegre.quick-body{background:radial-gradient(circle at 85% 8%,rgba(255,213,47,.18),transparent 36%),linear-gradient(145deg,var(--fog),color-mix(in srgb,var(--fog) 91%,#30d3a6))}
