@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap");:root{--bg:#f7f3ea;--surface:#fffdf8;--surface-strong:#fff;--ink:#20201d;--muted:#6d6a61;--line:#ded6c8;--brand:#2f6f62;--brand-dark:#24574d;--accent:#e0a526;--coral:#d8664f;--red:#c24132;--shadow:0 18px 45px rgba(69,55,31,.11)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;overflow-x:hidden;background:linear-gradient(180deg,rgba(47,111,98,.08),transparent 280px),var(--bg);color:var(--ink);font-family:Inter,system-ui,sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1{margin-bottom:10px;font-size:clamp(34px,5vw,62px);line-height:1;letter-spacing:0}h2{margin-bottom:12px;font-size:24px}h3{font-size:17px}p{color:var(--muted);line-height:1.6}button,input,select{font:inherit}input,select{width:100%;min-height:48px;padding:12px 14px;margin-top:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);color:var(--ink);outline:none;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(47,111,98,.13)}button{min-height:46px;padding:12px 16px;margin-top:14px;border:0;border-radius:8px;background:var(--brand);color:#fff;cursor:pointer;font-weight:800;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}button:hover{transform:translateY(-1px);background:var(--brand-dark);box-shadow:0 12px 24px rgba(47,111,98,.18)}button:disabled{cursor:not-allowed;opacity:.55;transform:none;box-shadow:none}.card{position:relative;margin-top:18px;padding:22px;border:1px solid var(--line);border-radius:8px;background:rgba(255,253,248,.92);box-shadow:var(--shadow)}.auth-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,.95fr) minmax(360px,1fr)}.auth-left{padding:56px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,rgba(47,111,98,.94),rgba(36,87,77,.94)),url(/icons/192.png) center 18% /180px no-repeat;color:#fff}.auth-brand p,.auth-left p{color:hsla(0,0%,100%,.78);font-size:18px}.auth-features{display:grid;grid-gap:12px;gap:12px;margin-top:42px}.feature-card{padding:16px 18px;border:1px solid hsla(0,0%,100%,.22);border-radius:8px;background:hsla(0,0%,100%,.11);color:#fff;font-weight:700}.auth-right{display:flex;align-items:center;justify-content:center;padding:28px}.auth-card{width:100%;max-width:440px;padding:30px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.auth-top{text-align:left}.auth-badge,.eyebrow{display:inline-flex;align-items:center;min-height:28px;padding:6px 10px;border-radius:999px;background:rgba(224,165,38,.17);color:#7a5412;font-size:12px;font-weight:800;letter-spacing:0;text-transform:uppercase}.auth-top h2{margin-top:16px;font-size:34px}.auth-form,.input-group{margin-top:18px}.auth-btn,.save-btn{width:100%;background:var(--brand)}.auth-btn.is-loading{position:relative;overflow:hidden}.auth-btn.is-loading:after{content:"";display:inline-block;width:1em;margin-left:2px;text-align:left;animation:loginDots 1s steps(4) infinite}@keyframes loginDots{0%{content:""}25%{content:"."}50%{content:".."}75%,to{content:"..."}}.mobile-menu-btn,.nav-link,.sidebar-btn,.switch-auth-btn{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}.switch-auth-btn{width:100%}.app-layout{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;padding:22px;border-right:1px solid var(--line);background:rgba(255,253,248,.92);display:flex;flex-direction:column;justify-content:space-between}.brand-mark,.logo{margin:0;font-size:26px;font-weight:900;color:var(--brand-dark)}.sidebar-menu{display:grid;grid-gap:10px;gap:10px;margin-top:34px}.sidebar-btn{width:100%;margin-top:0;text-align:left}.active-tab,.nav-link:hover,.sidebar-btn:hover{background:rgba(47,111,98,.1);color:var(--brand-dark)}.danger-btn,.delete-btn,.logout-btn{background:var(--red)}.danger-btn:hover,.delete-btn:hover,.logout-btn:hover{background:#9f3429;box-shadow:0 12px 24px rgba(194,65,50,.18)}.admin-shell,.main-content{width:100%;max-width:1180px;margin:0 auto;padding:24px}.app-navbar{min-height:64px;margin-bottom:18px;padding:0 0 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px}.nav-actions,.navbar-left,.navbar-right{display:flex;align-items:center;gap:10px}.nav-title{margin:0;font-size:22px}.mobile-menu-btn{display:none;width:44px;height:44px;padding:0}.compact-btn,.nav-link,.topbar-badge{width:auto;min-height:40px;margin-top:0;padding:10px 14px;border-radius:8px}.topbar-badge{border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:800}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:18px 0}.page-header h2{margin-bottom:4px;font-size:clamp(26px,4vw,42px)}.entry-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.entry-card-header h2{margin-bottom:0}.entry-form-card{overflow:hidden;border-color:rgba(47,111,98,.22);background:linear-gradient(135deg,rgba(47,111,98,.08),transparent 190px),rgba(255,253,248,.96)}.section-eyebrow{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.entry-form-grid{display:grid;grid-template-columns:minmax(130px,.75fr) minmax(170px,1fr) minmax(260px,1.5fr);grid-gap:14px;gap:14px;align-items:start;margin-top:18px}.entry-field{min-width:0;display:block;padding:14px;border:1px solid hsla(38,25%,83%,.9);border-radius:8px;background:var(--surface-strong)}.entry-field span{display:block;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase}.entry-field input,.entry-field select{margin-top:8px;border-color:transparent;background:hsla(42,45%,94%,.78);font-weight:800}.entry-field input:focus,.entry-field select:focus{background:#fff}.entry-field small{display:block;margin-top:8px;color:var(--red);font-size:12px;font-weight:800}.field-error{border-color:rgba(194,65,50,.6)!important;box-shadow:0 0 0 4px rgba(194,65,50,.1)!important}.form-alert{margin-top:14px;padding:12px 14px;border:1px solid rgba(194,65,50,.32);border-radius:8px;background:rgba(194,65,50,.08);color:var(--red);font-weight:800}.entry-action-row{display:flex;justify-content:flex-end;margin-top:16px}.add-entry-btn{min-width:160px;margin-top:0}.entry-review-panel{margin-top:16px;padding:14px;border:1px solid rgba(47,111,98,.28);border-radius:8px;background:rgba(47,111,98,.08)}.entry-confirmation-card{border-color:rgba(47,111,98,.34)}.entry-confirmation-card .entry-review-panel{background:hsla(0,0%,100%,.64)}.entry-review-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.entry-review-grid div{padding:12px;border:1px solid rgba(47,111,98,.16);border-radius:8px;background:hsla(0,0%,100%,.7)}.entry-review-grid span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.entry-review-grid strong{display:block;margin-top:5px;color:var(--brand-dark);font-size:18px}.entry-review-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.entry-review-actions button{width:auto;margin-top:0}.entry-progress{margin-top:12px}.inventory-pill{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:999px;background:rgba(47,111,98,.11);color:var(--brand-dark);font-size:13px;font-weight:800}.inventory-pill.empty{background:rgba(194,65,50,.12);color:var(--red)}.datetime-grid,.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.admin-grid,.entries-grid,.stats-grid{display:grid;grid-gap:16px;gap:16px}.entries-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.egg-card{overflow:hidden}.egg-card:after{content:"";position:absolute;right:-40px;top:-40px;width:120px;height:120px;border-radius:999px;background:rgba(224,165,38,.16)}.admin-save-bar,.entry-top,.leaderboard-item,.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.egg-badge,.top-eater-badge,.type-pill{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:6px 10px;border-radius:999px;background:rgba(47,111,98,.11);color:var(--brand-dark);font-size:13px;font-weight:800}.egg-count{margin:18px 0 10px;font-size:32px;font-weight:900;color:var(--brand-dark)}.stat-box{padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.stat-box p{margin-bottom:8px}.stat-box h2{margin-bottom:0;font-size:32px;color:var(--brand-dark)}.billing-highlight{margin-top:18px;padding:20px;border:1px solid rgba(47,111,98,.28);border-radius:8px;background:linear-gradient(135deg,rgba(47,111,98,.13),rgba(224,165,38,.12))}.billing-highlight span{display:block;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.billing-highlight strong{display:block;margin-top:8px;color:var(--brand-dark);font-size:clamp(34px,7vw,56px);line-height:1}.billing-meta{display:flex;gap:14px;justify-content:space-between;margin-top:14px;flex-wrap:wrap}.billing-meta p{margin:0;font-weight:700}.leaderboard-top{text-align:center;background:linear-gradient(135deg,rgba(224,165,38,.18),var(--surface))}.top-eater-celebration{position:relative;padding:28px 12px;border-radius:12px;background:linear-gradient(135deg,rgba(224,165,38,.16),rgba(47,111,98,.04));box-shadow:0 12px 40px rgba(47,111,98,.06)}.top-eater-celebration .crown{display:inline-block;font-size:28px;margin-bottom:6px;animation:float 2.2s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}.leaderboard-item{margin-top:10px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong);display:flex;align-items:center;justify-content:space-between;gap:12px}.rank-badge{min-width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:900;color:#fff;background:linear-gradient(135deg,rgba(0,0,0,.12),rgba(0,0,0,.06));box-shadow:0 6px 18px rgba(2,6,8,.25)}.rank-first{background:linear-gradient(90deg,#ffd54a,#f2a900);color:#2a1f00}.rank-second{background:linear-gradient(90deg,silver,#9aa0a6);color:#1f2326}.rank-third{background:linear-gradient(90deg,#cd7f32,#a8602a);color:#fff}.score-pill{min-width:86px;text-align:center;padding:8px 12px;border-radius:999px;background:linear-gradient(90deg,rgba(47,111,98,.12),rgba(36,87,77,.06));font-weight:900;color:var(--brand-dark);box-shadow:0 8px 20px rgba(2,6,8,.06)}.leader-username{font-weight:900;font-size:15px}.leaderboard-first .score-pill{background:linear-gradient(90deg,#fff7e0,#fff1c2);color:#4b2f00;font-size:16px}.sparkle{position:absolute;width:8px;height:8px;background:radial-gradient(circle at 30% 30%,#fff,hsla(0,0%,100%,0));opacity:.9;transform:rotate(45deg)}.leaderboard-item:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(2,6,8,.06)}.data-table{width:100%;border-collapse:collapse;margin-top:12px}.data-table td,.data-table th{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}.data-table th{background:rgba(0,0,0,.02);font-weight:800;color:var(--muted)}.data-table td[data-label=Today]{width:22%;color:var(--muted);font-weight:800}.chart-row{display:flex;align-items:center;gap:12px}.chart-bar-wrap{flex:1 1 auto;height:14px;background:linear-gradient(90deg,rgba(32,32,29,.04),rgba(32,32,29,.02));border-radius:999px;overflow:hidden}.chart-bar{height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-dark));border-radius:999px;transition:width .42s ease}.protein-summary{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.protein-chart{width:60%;max-width:360px}.protein-total{font-weight:900;font-size:20px;color:var(--brand-dark)}.leaderboard-first{border-color:rgba(224,165,38,.7);background:rgba(224,165,38,.12)}.danger{color:var(--red)}.confirmation-card{border-color:rgba(47,111,98,.45);background:#f8fff9}.confirmation-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:12px;gap:12px;margin-top:14px}.confirmation-grid div{padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.confirmation-grid span{display:block;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.confirmation-grid strong{display:block;margin-top:6px;color:var(--brand-dark);font-size:20px}.confirmation-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:16px}.secondary-btn{background:transparent;border:1px solid var(--line);color:var(--ink)}.secondary-btn:hover{background:rgba(47,111,98,.1);color:var(--brand-dark)}.pagination{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:22px;flex-wrap:wrap}.pagination-btn{width:auto;min-width:112px}.pagination-info{padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-weight:700}.admin-hero{min-height:190px;padding:28px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}.admin-hero h1{max-width:760px}.admin-summary{min-width:180px;padding:18px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow)}.admin-summary span,.field-label{display:block;color:var(--muted);font-size:13px;font-weight:800;text-transform:uppercase}.admin-summary strong{display:block;margin-top:8px;font-size:32px;color:var(--brand-dark)}.type-list{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.icon-btn{width:22px;min-height:22px;padding:0;margin:0;border-radius:999px;background:rgba(32,32,29,.12);color:var(--ink);font-size:12px}.inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:flex-end}.toggle-row{justify-content:flex-start;margin-top:18px;cursor:pointer}.toggle-row input{position:absolute;opacity:0;width:1px;height:1px}.toggle-control{position:relative;width:52px;height:30px;border-radius:999px;background:#c8c0b4}.toggle-control:after{content:"";position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:999px;background:#fff;transition:transform .2s ease}.toggle-row input:checked+.toggle-control{background:var(--brand)}.toggle-row input:checked+.toggle-control:after{transform:translateX(22px)}.admin-save-bar{position:-webkit-sticky;position:sticky;bottom:0;z-index:10;margin-top:18px;padding:14px 0;background:linear-gradient(180deg,transparent,var(--bg) 30%)}.admin-save-bar p{margin:0}.site-footer{margin-top:34px;padding:22px 0 8px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:14px}@media (max-width:980px){.auth-page{grid-template-columns:1fr}.auth-left{min-height:260px;padding:34px 24px}.app-layout{display:block}.sidebar{position:fixed;left:-110%;top:0;z-index:30;width:min(320px,86vw);transition:left .22s ease;box-shadow:20px 0 50px rgba(32,32,29,.18)}.sidebar.open{left:0}.mobile-overlay{position:fixed;inset:0;z-index:20;background:rgba(32,32,29,.38)}.mobile-menu-btn{display:inline-grid;place-items:center}.admin-grid{grid-template-columns:1fr}.entry-form-grid{grid-template-columns:1fr 1fr}.entry-form-grid .datetime-grid{grid-column:1/-1}}.submit-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.9);border-radius:8px;z-index:20}.submit-inner{width:90%;max-width:480px;text-align:center}.submit-message{font-weight:700;color:var(--brand-dark);margin-bottom:12px}.progress-wrap{height:10px;background:var(--line);border-radius:999px;overflow:hidden}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,var(--brand),var(--accent));transition:width .26s linear}.submit-toast{position:fixed;right:18px;bottom:18px;padding:12px 16px;background:linear-gradient(90deg,rgba(47,111,98,.95),rgba(36,87,77,.95));color:#fff;border-radius:8px;box-shadow:0 12px 30px rgba(32,32,29,.24);z-index:60;font-weight:800}.low-stock,.low-stock-stat{border-color:rgba(194,65,50,.42);background:linear-gradient(135deg,rgba(194,65,50,.06),hsla(0,0%,100%,.02))}.low-stock-icon,.low-stock-stat h2{color:var(--red)}.low-stock-icon{display:inline-block;margin-left:8px;font-size:14px;vertical-align:text-bottom;margin-top:-2px;cursor:help}@media (max-width:680px){.admin-shell,.auth-right,.main-content{padding:18px}.auth-left{display:none}.auth-card{padding:22px}.admin-hero,.admin-save-bar,.app-navbar,.page-header,.site-footer{align-items:stretch;flex-direction:column}.navbar-right{display:none}.card{padding:18px}.confirmation-actions,.datetime-grid,.entry-form-grid,.entry-review-grid,.form-grid,.inline-form{grid-template-columns:1fr}.entry-form-card{padding:16px}.entry-form-grid{gap:10px}.entry-field{padding:12px}.entry-action-row,.entry-review-actions{display:grid;grid-template-columns:1fr}.add-entry-btn,.entry-review-actions button{width:100%}.entries-grid,.stats-grid{grid-template-columns:1fr}.compact-btn,.nav-link,.save-btn{width:100%}.data-table,.data-table tbody,.data-table td,.data-table th,.data-table thead,.data-table tr{display:block}.data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.data-table tbody{display:grid;grid-gap:10px;gap:10px}.data-table tr{padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--surface-strong)}.data-table td,.data-table td[data-label=Today]{width:100%;min-height:34px;padding:8px 0;border-bottom:1px solid hsla(38,25%,83%,.65);display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:right}.data-table td:last-child{border-bottom:0}.data-table td:before{content:attr(data-label);color:var(--muted);font-weight:800;text-align:left}.protein-summary{align-items:stretch;flex-direction:column}.protein-chart{width:100%;max-width:none}}@media (max-width:768px){.app-navbar{position:fixed;top:0;left:0;width:100%;z-index:25;padding:16px 20px;background:hsla(0,0%,100%,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid hsla(0,0%,100%,.12);box-shadow:0 8px 32px rgba(0,0,0,.18),0 0 20px hsla(0,0%,100%,.04);border-radius:0 0 24px 24px;overflow:hidden}.app-navbar:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.12),hsla(0,0%,100%,.02));pointer-events:none}.main-content{padding-top:95px;overflow-y:auto;height:100vh}.navbar-right{display:none}}