.login-gate{position:fixed;inset:0;background:var(--bg);display:grid;place-items:center;z-index:80;padding:20px}
.login-gate[hidden]{display:none}
.login-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:28px 24px;width:min(420px,100%);text-align:center;box-shadow:var(--shadow)}
.login-card h1{font-family:var(--serif);margin:10px 0 8px}
.login-card p{color:var(--ink-soft);font-size:14px;margin-bottom:16px}
.login-card input{width:100%;padding:12px;border-radius:12px;border:1px solid var(--line);margin-bottom:12px;font-size:16px}
.login-card .logo{margin:0 auto}
.top-status{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#2c241b;color:#f3eadc}
.brand-mini{display:flex;align-items:center;gap:8px;background:transparent;border:0;color:inherit;cursor:pointer}
.logo.sm{width:32px;height:32px;font-size:16px;border-radius:9px}
.status-right{display:flex;align-items:center;gap:10px;font-size:14px}
.dot{width:9px;height:9px;border-radius:50%;background:#8a7b68;display:inline-block}
.dot[data-state="ok"]{background:#6fbf88;box-shadow:0 0 0 3px rgba(111,191,136,.25)}
.dot[data-state="syncing"]{background:#e6d48a}
.dot[data-state="error"],.dot[data-state="offline"]{background:#e2b1a4}
.meal-wrap{display:flex;gap:6px;align-items:stretch}
.meal-wrap .meal{flex:1;min-width:0}
.change-btn{flex:0 0 52px;width:52px;border:0;background:var(--terra);color:#fff;border-radius:12px;font-weight:700;font-size:12px;line-height:1.15;cursor:pointer;padding:8px 4px}
.change-btn:hover{background:var(--terra-d)}
.picker-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.picker-item{text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.picker-item span{color:var(--ink-soft);font-size:13px}
.picker-item:hover{background:var(--bg-2)}
.modal-actions{margin-top:18px;justify-content:flex-start}
#ownList .shop-item{justify-content:flex-start}
#ownList .icon-btn{margin-left:auto}
@media(max-width:820px){
  .nav button{font-size:11px;padding:8px 2px}
  .change-btn{flex-basis:56px;width:56px;font-size:13px}
}
