:root{--ink:#17231d;--muted:#69756f;--paper:#fffdf8;--line:#e3e8e2;--green:#1f6b4f;--green-2:#2c8665;--mint:#e8f4ed;--orange:#ee8f4a;--orange-soft:#fff0e3;--danger:#a53932;--shadow:0 18px 60px #1f41311a}*{box-sizing:border-box}html{background:#f2f5f0}body{color:var(--ink);background:radial-gradient(circle at 8% 8%,#ee8f4a1f,#0000 26rem),radial-gradient(circle at 92% 16%,#2c866521,#0000 30rem),#f4f6f2;min-height:100vh;margin:0;font-family:Tahoma,Segoe UI,Arial,sans-serif;line-height:1.65}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.shell{width:min(1180px,100% - 32px);margin:0 auto}.nav{justify-content:space-between;align-items:center;gap:16px;padding:22px 0;display:flex}.brand{align-items:center;gap:12px;font-size:20px;font-weight:900;display:flex}.brand-mark{color:#fff;background:linear-gradient(145deg, var(--green), #4da57f);border-radius:14px;place-items:center;width:42px;height:42px;display:grid;box-shadow:0 10px 26px #1f6b4f3d}.hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:54px;padding:78px 0 44px;display:grid}.eyebrow{color:var(--green);letter-spacing:.03em;font-size:13px;font-weight:800}.hero h1{letter-spacing:-.04em;margin:14px 0 20px;font-size:clamp(38px,5.6vw,72px);line-height:1.15}.hero p{color:var(--muted);max-width:670px;font-size:18px}.hero-card{box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf8d6;border:1px solid #ffffffe6;border-radius:30px;padding:28px}.metric-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:18px;padding:18px}.metric strong{color:var(--green);font-size:28px;display:block}.metric span{color:var(--muted);font-size:13px}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{border:0;border-radius:14px;padding:12px 20px;font-weight:800;transition:all .2s}.btn:hover{transform:translateY(-1px)}.btn-primary{color:#fff;background:var(--green);box-shadow:0 9px 22px #1f6b4f33}.btn-secondary{color:var(--green);background:var(--mint)}.btn-ghost{color:var(--muted);border:1px solid var(--line);background:0 0}.btn-danger{color:var(--danger);background:#fae9e8}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-wrap{place-items:center;min-height:100vh;padding:32px 16px;display:grid}.auth-card{background:var(--paper);width:min(480px,100%);box-shadow:var(--shadow);border:1px solid #fff;border-radius:28px;padding:34px}.auth-card h1{margin:12px 0 4px}.auth-card>p{color:var(--muted);margin-top:0}.form-grid{grid-template-columns:repeat(12,1fr);gap:16px;display:grid}.field{flex-direction:column;grid-column:span 6;gap:7px;display:flex}.field.full{grid-column:1/-1}.field.third{grid-column:span 4}.field.quarter{grid-column:span 3}.field label{font-size:13px;font-weight:800}.field small{color:var(--muted);font-size:12px}.input,.select,.textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:13px;outline:none;padding:11px 12px;transition:all .2s}.textarea{resize:vertical;min-height:86px}.input:focus,.select:focus,.textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px #2c86651a}.jalali-date{grid-template-columns:.8fr 1.35fr 1fr;gap:7px;display:grid}.inline-inputs{grid-template-columns:1fr 1fr;gap:7px;display:grid}.tag-input-wrap{gap:8px;display:grid}.tag-list{flex-wrap:wrap;gap:7px;display:flex}.tag-chip{color:#245b45;background:#edf5f0;border-radius:999px;align-items:center;gap:7px;padding:6px 10px;font-size:13px;display:inline-flex}.tag-chip button{color:#8b3d31;cursor:pointer;background:0 0;border:0;padding:0;font-size:18px;line-height:1}.error{color:var(--danger);background:#fff0ef;border:1px solid #f1cbc8;border-radius:12px;padding:10px 13px;font-size:13px}.notice{color:#6e5524;background:#fff8e4;border:1px solid #f1dfa4;border-radius:14px;padding:12px 15px}.dashboard-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#ffffffb8;border-bottom:1px solid #dce4dde6;position:sticky;top:0}.dashboard{padding:28px 0 80px}.topline{justify-content:space-between;align-items:end;gap:16px;margin-bottom:24px;display:flex}.topline h1{margin:0}.topline p{color:var(--muted);margin:4px 0 0}.panel{background:var(--paper);border:1px solid #ffffffe6;border-radius:24px;padding:24px;box-shadow:0 10px 40px #1f413112}.panel+.panel{margin-top:18px}.panel-title{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.panel-title h2,.panel-title h3{margin:0}.choice-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.choice{text-align:right;border:1px solid var(--line);background:#fff;border-radius:22px;min-height:220px;padding:26px;transition:all .2s}.choice:hover{border-color:var(--green-2);transform:translateY(-2px);box-shadow:0 12px 34px #1f6b4f17}.choice-icon{background:var(--mint);width:48px;height:48px;color:var(--green);border-radius:16px;place-items:center;font-size:22px;display:grid}.choice h3{margin:18px 0 8px;font-size:22px}.choice p{color:var(--muted);margin:0 0 18px}.badge{background:var(--mint);color:var(--green);border-radius:999px;align-items:center;padding:5px 10px;font-size:12px;font-weight:800;display:inline-flex}.badge.orange{background:var(--orange-soft);color:#9a5521}.quota-row{flex-wrap:wrap;gap:8px;display:flex}.wizard-steps{gap:8px;margin-bottom:22px;padding-bottom:4px;display:flex;overflow-x:auto}.step-pill{white-space:nowrap;color:var(--muted);background:#edf0ec;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:800}.step-pill.active{background:var(--green);color:#fff}.section-card{border:1px solid var(--line);background:#fff;border-radius:18px;margin-bottom:14px;padding:18px}.section-card h3{margin-top:0}.check-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.check{background:#f6f8f5;border-radius:11px;align-items:center;gap:8px;padding:9px 11px;display:flex}.repeat-row{border:1px dashed #cfd7d1;border-radius:14px;margin-top:10px;padding:14px}.days-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.day-edit{border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px}.day-edit strong{margin-bottom:10px;display:block}.mini-grid{grid-template-columns:repeat(2,1fr);gap:9px;display:grid}.loading{text-align:center;place-items:center;min-height:340px;display:grid}.spinner{border:4px solid #dbe8e0;border-top-color:var(--green);border-radius:50%;width:48px;height:48px;margin:0 auto 14px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.plan-summary{grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0;display:grid}.summary-card{background:#f4f8f5;border:1px solid #e0e8e2;border-radius:16px;padding:14px}.summary-card span{color:var(--muted);font-size:12px;display:block}.summary-card strong{font-size:20px}.day-tabs{gap:8px;margin:18px 0;padding-bottom:5px;display:flex;overflow-x:auto}.day-tab{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:12px;padding:9px 14px}.day-tab.active{color:#fff;border-color:var(--green);background:var(--green)}.meal-list{gap:11px;display:grid}.meal-card{border:1px solid var(--line);background:#fff;border-radius:16px;grid-template-columns:100px 1fr auto;align-items:center;gap:16px;padding:15px;display:grid}.meal-time{color:var(--green);font-weight:900}.meal-card h4{margin:0 0 4px}.meal-card p{color:var(--muted);margin:0;font-size:13px}.meal-macros{text-align:left;color:var(--muted);font-size:12px}.source-external{color:#9a5521;background:var(--orange-soft);border-radius:999px;padding:2px 7px;font-size:11px}.training-chip{color:#355c8b;background:#edf3ff;border-radius:999px;margin:7px 0 0 7px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.calorie-proof{color:var(--muted);direction:ltr;margin-top:5px;display:block}.warning-list{color:#775b25;margin:10px 0 0;padding-right:20px}.history-list{gap:10px;display:grid}.history-item{border:1px solid var(--line);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;display:flex}.history-row{align-items:stretch;gap:10px;display:flex}.history-row .history-item{flex:1}.history-copy{min-width:190px}.admin-plan-list{gap:10px;display:grid}.admin-plan-row{border:1px solid var(--line);background:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:14px;display:flex}.admin-plan-meta{gap:4px;min-width:0;display:grid}.admin-plan-meta span,.admin-plan-meta small{color:var(--muted);overflow-wrap:anywhere}.admin-plan-search{width:min(100%,360px)}.admin-plan-view{scroll-margin-top:16px}@media (max-width:850px){.hero{grid-template-columns:1fr;padding-top:38px}.choice-grid,.days-grid{grid-template-columns:1fr}.field,.field.third,.field.quarter{grid-column:1/-1}.check-grid,.plan-summary{grid-template-columns:repeat(2,1fr)}.meal-card{grid-template-columns:72px 1fr}.meal-macros{text-align:right;grid-column:2}}@media (max-width:520px){.shell{width:min(100% - 20px,1180px)}.auth-card,.panel{border-radius:20px;padding:18px}.hero h1{font-size:40px}.check-grid,.metric-grid{grid-template-columns:1fr}.topline{flex-direction:column;align-items:flex-start}}.admin-table{overflow-x:auto}.admin-table table{border-collapse:collapse;width:100%;min-width:760px;font-size:13px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:right;vertical-align:top;padding:9px 7px}.admin-table th{color:var(--muted);white-space:nowrap;font-weight:700}@media (max-width:760px){.history-row,.admin-plan-row{flex-direction:column;align-items:stretch}.history-copy{min-width:0}}.cost-check pre{text-align:left;white-space:pre-wrap;direction:ltr;font-size:12px}
