:root{
  --well-navy:#08234a;
  --well-navy-2:#0d3b73;
  --well-green:#35b85a;
  --well-green-dark:#16804f;
  --well-teal:#17a8a5;
  --well-soft:#f4f8f6;
  --ink:#17221c;
}
body{background:#f5f7f6;color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.app-nav{background:linear-gradient(108deg,var(--well-navy) 0%,#0b3761 48%,var(--well-green-dark) 100%);box-shadow:0 4px 18px rgba(4,25,54,.2)}
.navbar-brand{padding-top:.35rem;padding-bottom:.35rem}
.brand-mark-shell{width:42px;height:42px;display:grid;place-items:center;background:rgba(255,255,255,.96);border-radius:12px;padding:4px;box-shadow:0 3px 12px rgba(0,0,0,.12)}
.brand-mark{width:100%;height:100%;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;line-height:1;color:#fff;letter-spacing:.02em}
.brand-copy strong{font-size:1.18rem;font-weight:900;letter-spacing:.08em}
.brand-copy small{font-size:.63rem;font-weight:500;opacity:.78;margin-top:4px;letter-spacing:.08em}
.user-nav-meta{line-height:1.15}

.login-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 14% 10%,rgba(110,224,83,.24),transparent 28%),radial-gradient(circle at 88% 88%,rgba(23,168,165,.20),transparent 30%),linear-gradient(135deg,#061b3c 0%,#0a315f 46%,#0b6748 100%)}
.login-card{position:relative;background:rgba(255,255,255,.985);border-radius:28px;padding:30px 38px 34px;width:min(500px,100%);border:1px solid rgba(255,255,255,.55);box-shadow:0 25px 70px rgba(1,18,40,.28)!important;overflow:hidden}
.login-card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--well-green),#79d800,var(--well-teal),#1788df)}
.login-brand-logo{display:block;width:min(330px,88%);height:auto;margin:0 auto 8px}
.login-brand-sub{font-size:.92rem;letter-spacing:.015em}
.login-submit{border:0;background:linear-gradient(100deg,var(--well-green-dark),#1d9b63);font-weight:700;box-shadow:0 8px 20px rgba(22,128,79,.20)}
.login-submit:hover,.login-submit:focus{background:linear-gradient(100deg,#126c43,#168b58)}
.login-foot{font-size:.78rem;color:#75807a;letter-spacing:.02em}
.login-card .form-control{border-radius:12px;border-color:#d7e0db;min-height:50px}
.login-card .form-control:focus{border-color:#45aa6f;box-shadow:0 0 0 .2rem rgba(53,184,90,.14)}
.lang-switch{min-width:78px}

.hero-card{background:linear-gradient(120deg,var(--well-navy),#0d4d70 54%,var(--well-green-dark));color:#fff;border-radius:24px;padding:30px;box-shadow:0 14px 34px rgba(15,81,50,.18)}
.metric-card{background:#fff;border-radius:18px;padding:20px;box-shadow:0 5px 20px rgba(22,70,45,.07)}
.metric-icon{font-size:28px}.metric-label{color:#6c757d;font-size:.86rem}.metric-value{font-size:1.8rem;font-weight:800;margin-top:3px}.metric-sub{font-size:.78rem;color:#89918c}
.balance-number{font-weight:900;font-size:2.4rem;color:var(--well-green-dark)}.balance-number span{font-size:1rem}
.food-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 5px 20px rgba(0,0,0,.06);border:1px solid #edf0ee}.food-card img,.food-placeholder{width:100%;height:150px;object-fit:cover}.food-placeholder,.choice-placeholder{display:grid;place-items:center;background:#eef5f0;font-size:44px}.kcal{font-weight:800;color:var(--well-green-dark)}
.menu-check{display:flex;gap:10px;border:1px solid #dce5df;border-radius:12px;padding:12px;cursor:pointer;background:#fff}.menu-check span{display:flex;flex-direction:column}.menu-check small{color:#6c757d}
.select-food{display:block;position:relative;cursor:pointer}.select-food>input{position:absolute;opacity:0}.food-choice{display:flex;flex-direction:column;background:#fff;border:2px solid transparent;border-radius:18px;overflow:hidden;box-shadow:0 4px 16px rgba(0,0,0,.06);transition:.2s}.food-choice img,.choice-placeholder{width:100%;height:130px;object-fit:cover}.food-choice strong{padding:12px 12px 0}.food-choice small{padding:2px 12px 12px;color:#6c757d}.select-food>input:checked+.food-choice{border-color:var(--well-green-dark);box-shadow:0 0 0 4px rgba(22,128,79,.11)}.select-food>input:disabled+.food-choice{opacity:.45}
.summary-card{top:88px;background:#fff;border-radius:20px;padding:24px;box-shadow:0 8px 28px rgba(0,0,0,.08)}.summary-kcal{font-size:3rem;font-weight:900;color:var(--well-green-dark)}.summary-kcal small{font-size:1rem}.live-pill{background:#e7f7ee;color:#08733e;padding:8px 12px;border-radius:999px;font-weight:800}.live-pill span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#13a05c;margin-right:6px;animation:pulse 1.2s infinite}
.order-card{background:#fff;border-radius:18px;padding:18px;box-shadow:0 5px 18px rgba(0,0,0,.07);border-top:5px solid #adb5bd}.order-card[data-status="SOLICITADO"]{border-top-color:#ffc107}.order-card[data-status="CONFIRMADO"],.order-card[data-status="PREPARANDO"]{border-top-color:#0dcaf0}.order-card[data-status="LISTO"]{border-top-color:#198754}.order-card[data-status="ENTREGADO"]{opacity:.65}.order-number{font-size:1.5rem;font-weight:900}.order-items{font-size:.9rem;line-height:1.5}.badge[class*="status-"]{background:#e9ecef;color:#212529}.status-listo{background:#d1e7dd!important;color:#0f5132!important}.status-solicitado{background:#fff3cd!important;color:#664d03!important}.status-preparando,.status-confirmado{background:#cff4fc!important;color:#055160!important}.status-entregado{background:#e2e3e5!important;color:#41464b!important}
@keyframes pulse{50%{transform:scale(1.5);opacity:.45}}
@media(max-width:575px){.hero-card{padding:22px}.metric-card{padding:15px}.metric-value{font-size:1.45rem}.food-choice img,.choice-placeholder{height:105px}.summary-card{position:static!important}.login-card{padding:24px 22px 30px;border-radius:22px}.login-brand-logo{width:min(292px,92%)}.brand-mark-shell{width:38px;height:38px}.brand-copy strong{font-size:1.08rem}}

/* WELL v1.5: quantity selector + resilient food images */
.quantity-food .food-choice{height:100%;}
.quantity-food.is-selected .food-choice{border-color:var(--well-green-dark);box-shadow:0 0 0 4px rgba(22,128,79,.11)}
.qty-wrap{padding:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #edf0ee;margin-top:10px}
.qty-label{font-size:.8rem;color:#6c757d;font-weight:700}
.qty-stepper{display:flex;align-items:center;border:1px solid #cfd8d2;border-radius:999px;overflow:hidden;background:#fff}
.qty-btn{width:38px;height:34px;border:0;background:#f3f7f4;color:var(--well-green-dark);font-weight:900;font-size:1.2rem;line-height:1;cursor:pointer}
.qty-btn:hover:not(:disabled){background:#e3f1e8}.qty-btn:disabled{opacity:.35;cursor:not-allowed}
.qty-value{min-width:36px;text-align:center;font-weight:900;font-variant-numeric:tabular-nums}
.selected-items{border:1px solid #e5ece7;border-radius:12px;padding:10px 12px;max-height:190px;overflow:auto;background:#fbfdfb}
.selected-line{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px dashed #e7ece9;font-size:.9rem}.selected-line:last-child{border-bottom:0}.selected-line strong{white-space:nowrap;color:var(--well-green-dark)}
.food-image-error{opacity:.22;background:#eef5f0}
@media(max-width:575px){.qty-wrap{padding:9px}.qty-btn{width:34px;height:32px}.qty-value{min-width:30px}.qty-label{display:none}}
