/* Approved warm editorial otter. Decorative assets never convey save state. */
.mascot-brand{object-fit:contain;flex:none;width:44px;height:44px}
.brand.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:0}
.login-brand .brand-dot{color:#d77b39}
.mascot-welcome{display:block;width:160px;height:160px;object-fit:contain;margin:10px auto 12px}
.login-card{position:relative}
.diary-companion{display:flex;align-items:center;gap:18px;padding:14px 22px;margin-bottom:18px;border-radius:14px;background:var(--surface-soft,#f6f7ed);border:1px solid var(--line)}
.diary-companion img{width:100px;height:100px;object-fit:contain;flex:none}
.diary-companion strong{display:block;font-size:14px;color:var(--ink)}
.diary-companion p{font-size:14px;line-height:1.7;color:var(--subtle-text,#75846c);margin:6px 0 0;max-width:330px}
.calendar-companion{display:flex;align-items:center;gap:10px;margin:4px 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.calendar-companion img{width:68px;height:68px;object-fit:contain;flex:none}
.calendar-companion p{font-size:14px;font-weight:600;line-height:1.6;color:var(--ink)}
.calendar-companion p span{display:block;font-size:14px;font-weight:400;color:var(--subtle-text,#75846c);margin-top:3px}
.footer-brand{display:inline-flex;align-items:center;gap:7px}
.footer-brand img{width:28px;height:28px;object-fit:contain}
.meal .meal-icon.meal-mascot{width:64px;height:64px;background:transparent;flex:none;padding:0}
.meal-mascot img{width:100%;height:100%;object-fit:contain;display:block}
.section-mascot{width:80px;height:80px;object-fit:contain;flex:none}
.catalog-top>div{flex:1;min-width:0}
.mini-intro{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.mini-intro strong,.mini-intro span{display:block}.mini-intro span{font-size:14px;color:var(--muted);margin-top:6px}
@media(max-width:600px){.meal .meal-icon.meal-mascot{width:48px;height:48px}.section-mascot{width:60px;height:60px}.catalog-top{flex-wrap:wrap;gap:12px}.catalog-top>div{flex-basis:calc(100% - 80px)}.mini-intro{gap:12px}}
.sidebar .brand{font-size:22px;letter-spacing:-1px;gap:5px;padding-left:0}
.login-brand{font-size:29px;letter-spacing:-1px}
@media(max-width:900px){.topbar .breadcrumb::before{font-size:19px;margin-right:0}.top-actions::before{display:none}}
@media(max-width:900px){.breadcrumb::before{padding-left:34px;background:url('assets/monchito.webp') no-repeat left center;background-size:30px 30px}}
@media(max-width:900px){.mascot-brand{width:35px;height:35px}.login-brand .mascot-brand{width:42px;height:42px}.mascot-welcome{width:120px;height:120px;margin:10px auto}.login-card h1{font-size:clamp(26px,6.5vw,36px)}.diary-companion{padding:12px 14px;gap:12px}.diary-companion img{width:76px;height:76px}.diary-companion strong{font-size:14px}.diary-companion p{font-size:14px}.calendar-companion img{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){.mascot-welcome,.mascot-brand,.diary-companion img,.calendar-companion img{animation:none;transition:none}}
/* Monchito: different silhouettes, with room to breathe. */
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.profile>span:nth-child(2){min-width:0}.profile strong,.profile small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:140px}
.mascot-welcome{width:220px;height:220px}
.meal .meal-icon.meal-mascot{width:106px;height:100px}
.meal-breakfast .meal-icon.meal-mascot{width:145px;height:94px}
.meal-snack .meal-icon.meal-mascot{width:90px;height:108px;transform:rotate(-7deg)}
.meal-dinner .meal-icon.meal-mascot{width:116px;height:114px}
.calendar-companion img{width:108px;height:155px;margin-top:-10px}
.calendar-companion{gap:14px}.calendar-companion p{font-size:14px}.calendar-companion p span{font-size:14px}
.catalog-top .section-mascot{width:200px;height:145px;order:2}
.diary-companion img{width:156px;height:156px}
.mini-intro .section-mascot{width:140px;height:140px}
@media(max-width:600px){
 .meal-header{flex-wrap:wrap}.meal .meal-icon.meal-mascot{width:82px;height:84px}
 .meal-breakfast .meal-icon.meal-mascot{width:110px;height:74px}
 .meal-snack .meal-icon.meal-mascot{width:76px;height:86px}
 .meal-title{flex:1;min-width:80px}.meal-calories{margin-left:auto}
 .meal-header .add-round{margin-left:auto}.catalog-top .section-mascot{width:150px;height:110px;order:0}
 .catalog-top>div{flex-basis:calc(100% - 170px)}.calendar-companion img{width:100px;height:135px}
 .diary-companion img{width:110px;height:120px}.mini-intro .section-mascot{width:110px;height:110px}
 .mascot-welcome{width:190px;height:190px}.modal-actions{flex-wrap:wrap;gap:10px}
}
.account-profile{display:flex;align-items:center;gap:14px;margin:0 0 24px}.account-profile .avatar{width:56px;height:56px;flex:none}.account-profile p{font-size:14px;margin:6px 0;overflow-wrap:anywhere}
