:root{
  --bg:#f7f7fb;--card:#fff;--text:#1e1c27;--muted:#747180;--line:#e8e5ef;
  --purple:#6d3ee8;--purple-2:#8d68f1;--green:#53b82e;--green-2:#86d64b;--red:#e35d63;--amber:#f2ad32;
  --shadow:0 14px 40px rgba(54,40,90,.09);--radius:24px;--radius-sm:16px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at top right,#efe8ff 0,transparent 28%),var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;padding-bottom:92px}.topbar{position:sticky;top:0;z-index:30;height:76px;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(16px,4vw,42px);background:rgba(247,247,251,.84);backdrop-filter:blur(18px);border-bottom:1px solid rgba(110,95,150,.08)}.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.brand-icon{width:52px;height:52px;border-radius:16px;object-fit:cover;box-shadow:0 6px 20px rgba(83,54,166,.2)}.brand span{display:flex;flex-direction:column}.brand strong{font-size:18px}.brand small{color:var(--muted);font-size:12px;margin-top:2px}.top-actions{display:flex;gap:8px}.icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:14px;background:#fff;display:grid;place-items:center;font-size:22px;color:var(--purple);text-decoration:none;box-shadow:0 5px 18px rgba(40,30,70,.05)}main{width:min(1280px,calc(100% - 32px));margin:24px auto 0}.card{background:rgba(255,255,255,.96);border:1px solid rgba(111,96,145,.09);box-shadow:var(--shadow);border-radius:var(--radius)}.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:430px;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#fbf8ff 58%,#f0e9ff 100%)}.hero-copy{padding:clamp(32px,5vw,68px);display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;letter-spacing:.13em;font-weight:800;color:var(--purple);text-transform:uppercase}.hero h1{font-size:clamp(38px,5vw,68px);line-height:.98;letter-spacing:-.045em;margin:16px 0 20px;max-width:760px}.hero p{font-size:18px;line-height:1.65;color:var(--muted);max-width:650px;margin:0}.hero-actions,.section-actions{display:flex;gap:10px;flex-wrap:wrap}.hero-actions{margin-top:28px}.btn{border:0;border-radius:15px;padding:13px 18px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s transform,.2s box-shadow,.2s background}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(135deg,var(--purple),#865df1);color:#fff;box-shadow:0 10px 25px rgba(109,62,232,.22)}.btn.ghost{background:#f2eff9;color:#514866}.btn.compact{padding:10px 13px;border-radius:13px;font-size:14px}.btn img{width:25px;height:25px;object-fit:contain}.mini-points{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:20px;font-size:13px;color:#5d5868;font-weight:700}.hero-art-wrap{min-height:430px;position:relative;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(circle at 45% 45%,rgba(132,87,244,.16),transparent 55%)}.hero-art{width:100%;height:100%;object-fit:cover}.quick-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 34px}.stat{padding:16px;display:flex;gap:12px;align-items:center}.stat img{width:54px;height:54px;object-fit:contain;border-radius:14px}.stat div{display:flex;flex-direction:column}.stat strong{font-size:22px}.stat span{font-size:12px;color:var(--muted);margin-top:3px}.view{display:none}.view.active{display:block}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 2px 16px}.section-heading h2{font-size:34px;margin:5px 0 3px;letter-spacing:-.03em}.section-heading p{margin:0;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px;margin-bottom:14px}.setting{display:grid;grid-template-columns:62px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:18px}.setting>img{width:58px;height:58px;object-fit:contain}.setting span{display:flex;flex-direction:column}.setting small{color:var(--muted);margin-top:4px}.stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:13px;overflow:hidden}.stepper button{border:0;background:#f7f5fb;width:36px;height:40px;font-size:20px}.stepper input{border:0;width:50px;text-align:center;outline:none;background:#fff}.money-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}.money-input input{width:84px;border:0;padding:10px;outline:none;text-align:right}.money-input span{padding-right:10px;font-weight:800}.budget-meter{grid-column:1/-1}.meter-label{display:flex;justify-content:space-between;font-size:13px;color:var(--muted);margin:0 3px 7px}.meter{height:10px;background:#ece9f3;border-radius:99px;overflow:hidden}.meter i{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--green),#8ad84f);transition:.25s}.meal-controls{padding:14px 18px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.meal-controls>span{font-weight:800}.meal-controls label{font-size:14px;color:#4d4857}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(180px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px;scrollbar-width:thin}.day-card{min-width:180px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 25px rgba(58,43,87,.06);overflow:hidden}.day-head{padding:16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#fff,#faf8ff)}.day-head strong{font-size:16px}.day-head small{color:var(--muted)}.meal-slot{padding:12px;border-bottom:1px solid #efedf4}.meal-slot:last-child{border-bottom:0}.slot-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800;margin-bottom:8px}.slot-btn{width:100%;min-height:95px;border:1px dashed #d9d2e8;border-radius:15px;background:#faf9fd;padding:10px;text-align:left;color:inherit;transition:.2s}.slot-btn:hover{border-color:var(--purple);background:#f8f4ff}.slot-btn.empty{display:grid;place-items:center;text-align:center;color:#887f97;font-weight:700}.meal-card-mini{display:flex;flex-direction:column;gap:6px}.meal-card-mini .meal-title{font-weight:800;line-height:1.25}.meal-meta{display:flex;justify-content:space-between;gap:6px;font-size:11px;color:var(--muted)}.meal-cost{color:var(--green);font-weight:800}.recipe-toolbar{padding:14px;display:grid;grid-template-columns:1fr 220px auto;gap:10px;align-items:center;margin-bottom:16px}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:0 12px}.search span{font-size:22px;color:var(--purple)}.search input{border:0;outline:0;width:100%;height:44px;background:transparent}.recipe-toolbar select,.field select,.pantry-add select{height:44px;border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 12px;outline:none}.toggle{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.toggle input{accent-color:var(--purple)}.recipe-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.recipe-card{padding:16px;position:relative;display:flex;flex-direction:column}.recipe-card .recipe-top{display:flex;gap:11px;align-items:flex-start}.recipe-card .recipe-icon{width:58px;height:58px;object-fit:contain;border-radius:15px}.recipe-card h3{font-size:17px;margin:2px 0 5px}.recipe-card .recipe-sub{color:var(--muted);font-size:12px}.tag-row{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.tag{background:#f2eff9;color:#5d507a;border-radius:99px;padding:5px 8px;font-size:10px;font-weight:800}.tag.cheap{background:#edf8e8;color:#3d8a27}.ingredient-preview{font-size:12px;color:var(--muted);line-height:1.55;flex:1}.recipe-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.recipe-bottom strong{color:var(--green)}.recipe-add{width:38px;height:38px;border:0;border-radius:12px;background:var(--purple);color:#fff;font-size:20px}.shopping-summary{padding:15px;display:grid;grid-template-columns:1fr 1fr auto;gap:15px;align-items:center;margin-bottom:14px}.shopping-summary>div{display:flex;align-items:center;gap:10px}.shopping-summary img{width:58px;height:58px;object-fit:contain}.shopping-summary span{display:flex;flex-direction:column}.shopping-summary small{color:var(--muted);margin-top:3px}.empty-state{text-align:center;padding:36px 20px}.empty-state img{width:min(320px,70%);max-height:210px;object-fit:contain}.empty-state h3{font-size:22px;margin:12px 0 6px}.empty-state p{color:var(--muted);margin:0 auto 18px;max-width:520px}.shopping-list{display:grid;gap:12px}.shopping-group{overflow:hidden}.shopping-group-head{display:flex;align-items:center;gap:10px;padding:13px 16px;background:#faf9fd;border-bottom:1px solid var(--line)}.shopping-group-head img{width:36px;height:36px;object-fit:contain}.shopping-group-head strong{font-size:16px}.shopping-items{padding:4px 14px 10px}.shopping-row{display:grid;grid-template-columns:32px 1fr auto auto;gap:10px;align-items:center;padding:12px 2px;border-bottom:1px solid #f0edf4}.shopping-row:last-child{border-bottom:0}.shopping-check{width:22px;height:22px;accent-color:var(--green)}.shopping-row.done .shopping-name{text-decoration:line-through;color:#999}.shopping-qty{font-size:13px;color:var(--muted);white-space:nowrap}.shopping-price{font-weight:800;color:var(--green);font-size:13px;min-width:62px;text-align:right}.pantry-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px}.pantry-add{padding:20px;display:grid;grid-template-columns:100px 1fr;gap:10px 14px;align-items:center}.pantry-add>img{width:100px;height:100px;object-fit:contain}.pantry-add h3{margin:0 0 5px}.pantry-add p{margin:0;color:var(--muted);font-size:13px}.pantry-add form{grid-column:1/-1;display:grid;grid-template-columns:1fr 130px 150px auto;gap:9px;margin-top:6px}.pantry-add input{height:44px;border:1px solid var(--line);border-radius:14px;padding:0 12px;outline:none}.pantry-items-wrap{padding:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-head h3{margin:0}.text-btn{border:0;background:none;color:var(--purple);font-weight:800}.pantry-items{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pantry-chip{display:flex;align-items:center;gap:8px;background:#f4f1fa;border:1px solid #e6e0f0;border-radius:99px;padding:8px 10px 8px 13px;font-size:13px}.pantry-chip button{border:0;background:#fff;width:24px;height:24px;border-radius:50%;color:#8b8097}.bottom-nav{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:40;width:min(640px,calc(100% - 26px));background:rgba(255,255,255,.94);backdrop-filter:blur(20px);border:1px solid rgba(100,85,130,.12);box-shadow:0 18px 45px rgba(45,35,70,.18);border-radius:24px;padding:8px;display:grid;grid-template-columns:repeat(4,1fr)}.bottom-nav button{position:relative;border:0;background:transparent;border-radius:17px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:3px;color:#80788c;font-size:11px;font-weight:800}.bottom-nav button.active{background:#f1ecff;color:var(--purple)}.bottom-nav img{width:34px;height:34px;object-fit:contain}.nav-badge{position:absolute;top:5px;right:22%;min-width:19px;height:19px;padding:0 5px;border-radius:99px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:10px}footer{text-align:center;color:#8a8493;font-size:12px;width:min(980px,calc(100% - 32px));margin:42px auto 120px;line-height:1.6}footer a{color:var(--purple);font-weight:800;text-decoration:none}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:rgba(22,18,31,.5);backdrop-filter:blur(4px)}.modal-card{position:relative;z-index:1;background:#fff;border-radius:26px;width:min(600px,100%);max-height:90vh;overflow:auto;padding:24px;box-shadow:0 30px 90px rgba(28,18,50,.28)}.modal-card.wide{width:min(760px,100%)}.modal-close{position:absolute;right:16px;top:14px;width:36px;height:36px;border:0;border-radius:12px;background:#f3f0f8;font-size:22px;color:#655c72}.modal-card h3{font-size:26px;margin:5px 0 16px}.tabs-mini{display:grid;grid-template-columns:1fr 1fr;background:#f4f1f8;border-radius:13px;padding:4px;margin-bottom:14px}.tabs-mini button{border:0;background:transparent;border-radius:10px;padding:10px;font-weight:800;color:#766d82}.tabs-mini button.active{background:#fff;color:var(--purple);box-shadow:0 4px 12px rgba(42,30,70,.06)}.choice-list{display:grid;gap:8px;max-height:360px;overflow:auto;margin-top:10px}.choice-item{width:100%;border:1px solid var(--line);background:#fff;border-radius:15px;padding:10px;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;text-align:left}.choice-item:hover{border-color:#baa8ef}.choice-item img{width:46px;height:46px;object-fit:contain}.choice-item strong{display:block}.choice-item small{display:block;color:var(--muted);margin-top:2px}.choice-item b{color:var(--green);font-size:13px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-size:12px;font-weight:800;color:#5d5667}.field input,.field textarea{border:1px solid var(--line);border-radius:14px;padding:11px 12px;outline:none;background:#fff}.field textarea{resize:vertical}.field small{color:var(--muted);font-size:11px}.modal-footer-settings{margin-top:14px;display:grid;grid-template-columns:130px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.toast{position:fixed;z-index:200;left:50%;bottom:105px;transform:translate(-50%,20px);background:#27232e;color:#fff;border-radius:14px;padding:11px 15px;font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1000px){.hero{grid-template-columns:1fr}.hero-art-wrap{min-height:340px}.quick-stats{grid-template-columns:1fr 1fr}.recipe-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.budget-meter{grid-column:auto}.pantry-layout{grid-template-columns:1fr}.recipe-toolbar{grid-template-columns:1fr 1fr}.recipe-toolbar .toggle{grid-column:1/-1}.shopping-summary{grid-template-columns:1fr 1fr}.shopping-summary .btn{grid-column:1/-1}.pantry-add form{grid-template-columns:1fr 1fr}.pantry-add form .btn{grid-column:1/-1}}
@media(max-width:680px){.app-shell{padding-bottom:86px}.topbar{height:66px;padding:8px 12px}.brand-icon{width:44px;height:44px;border-radius:13px}.brand strong{font-size:16px}.brand small{display:none}.icon-btn{width:38px;height:38px}.hero{border-radius:20px}.hero-copy{padding:28px 22px}.hero h1{font-size:40px}.hero p{font-size:16px}.hero-art-wrap{min-height:270px}.hero-art{object-position:center}.quick-stats{grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.stat{padding:11px}.stat img{width:42px;height:42px}.stat strong{font-size:18px}.section-heading{align-items:flex-start;flex-direction:column}.section-heading h2{font-size:30px}.settings-grid{padding:12px}.setting{grid-template-columns:50px 1fr}.setting>img{width:48px;height:48px}.setting .stepper,.setting .money-input{grid-column:1/-1;width:100%}.setting .stepper input{flex:1}.money-input input{flex:1}.week-grid{grid-template-columns:repeat(7,minmax(230px,82vw));margin-right:-16px}.recipe-toolbar{grid-template-columns:1fr}.recipe-toolbar select,.recipe-toolbar .toggle{grid-column:auto}.recipe-grid{grid-template-columns:1fr}.shopping-summary{grid-template-columns:1fr}.shopping-summary .btn{grid-column:auto}.shopping-row{grid-template-columns:30px 1fr auto}.shopping-price{grid-column:2/-1;text-align:left;padding-left:0}.pantry-add{grid-template-columns:78px 1fr}.pantry-add>img{width:78px;height:78px}.pantry-add form{grid-template-columns:1fr}.pantry-add form .btn{grid-column:auto}.form-grid{grid-template-columns:1fr}.modal{padding:10px;align-items:end}.modal-card{border-radius:24px 24px 10px 10px;max-height:92vh}.bottom-nav{bottom:10px}.bottom-nav img{width:30px;height:30px}.bottom-nav button{font-size:10px}.meal-controls{gap:10px}.meal-controls>span{width:100%}main{width:min(100% - 20px,1280px);margin-top:14px}footer{margin-bottom:110px}}
@media print{body{background:#fff}.topbar,.hero,.quick-stats,.bottom-nav,.section-heading .section-actions,.shopping-summary .btn,footer,.toast{display:none!important}.view{display:none!important}#view-shopping{display:block!important}main{width:100%;margin:0}.shopping-list{display:block}.shopping-group{box-shadow:none;border:1px solid #ccc;margin-bottom:12px}.shopping-row{break-inside:avoid}.shopping-check{appearance:none;border:1px solid #777;border-radius:3px}.shopping-row.done{display:none}.card{box-shadow:none}.empty-state{display:none!important}}


/* V1.1 · onboarding y regreso a WebApps */
.back-link{width:auto;min-width:0;padding:0 14px;text-decoration:none;font-size:12px;font-weight:850;white-space:nowrap;letter-spacing:-.01em}
.onboarding-modal{z-index:260}
.onboarding-modal .modal-backdrop{background:rgba(24,18,36,.62);backdrop-filter:blur(8px)}
.guide-prompt-card{width:min(620px,100%);padding:28px}
.guide-prompt-layout{display:grid;grid-template-columns:130px 1fr;gap:22px;align-items:center}
.guide-prompt-img{width:130px;height:130px;object-fit:contain;filter:drop-shadow(0 16px 26px rgba(73,42,120,.13))}
.guide-prompt-card h3{font-size:30px;margin:5px 0 10px;line-height:1.05}
.guide-lead{margin:0;color:var(--muted);line-height:1.65;font-size:15px}
.guide-choice-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.quick-guide-card{padding:26px;width:min(820px,100%)}
.quick-guide-head{display:grid;grid-template-columns:180px 1fr;gap:22px;align-items:center;padding-right:35px;margin-bottom:18px}
.quick-guide-head>img{width:180px;height:125px;object-fit:cover;border-radius:20px;box-shadow:0 14px 34px rgba(52,34,90,.12)}
.quick-guide-head h3{margin:5px 0 7px;font-size:30px;line-height:1.06}
.quick-guide-head p{margin:0;color:var(--muted);line-height:1.55}
.guide-steps{display:grid;gap:10px}
.guide-step{display:grid;grid-template-columns:42px 1fr;gap:13px;align-items:start;border:1px solid var(--line);background:#fcfbfe;border-radius:18px;padding:14px 16px}
.guide-step-number{width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,var(--purple),#9b68ff);color:#fff;display:grid;place-items:center;font-weight:900;box-shadow:0 8px 18px rgba(109,62,232,.18)}
.guide-step h4{margin:1px 0 4px;font-size:15px}
.guide-step p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.guide-example{background:linear-gradient(135deg,#faf7ff,#f5fff1);border-color:#e6dafb}
.guide-scale{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}
.guide-scale span{background:#fff;border:1px solid var(--line);border-radius:13px;padding:9px 10px;display:flex;flex-direction:column;font-size:11px;color:var(--muted)}
.guide-scale b{font-size:15px;color:var(--green);margin-bottom:1px}
.guide-tip{display:flex;align-items:center;gap:12px;background:#f2effa;border-radius:16px;padding:11px 14px;margin-top:12px;color:#62596f;font-size:12px;line-height:1.5}
.guide-tip img{width:44px;height:44px;object-fit:contain;flex:0 0 auto}
.guide-finish{margin-top:14px}
@media(max-width:680px){
  .top-actions{gap:5px}.back-link{padding:0 9px;font-size:10px;height:38px}.brand{gap:7px}.brand strong{font-size:15px}
  .guide-prompt-card{padding:22px}.guide-prompt-layout{grid-template-columns:86px 1fr;gap:14px}.guide-prompt-img{width:86px;height:86px}.guide-prompt-card h3{font-size:24px}.guide-choice-actions{display:grid;grid-template-columns:1fr 1fr}.guide-choice-actions .btn{padding-inline:10px;font-size:12px}
  .quick-guide-card{padding:20px 15px 16px}.quick-guide-head{grid-template-columns:90px 1fr;gap:12px;padding-right:30px}.quick-guide-head>img{width:90px;height:78px;border-radius:14px}.quick-guide-head h3{font-size:23px}.quick-guide-head p{font-size:12px}.guide-step{grid-template-columns:36px 1fr;padding:12px;gap:10px}.guide-step-number{width:34px;height:34px}.guide-scale span{padding:8px 6px}.guide-scale b{font-size:13px}.guide-finish .btn{width:100%}
}
@media(max-width:410px){.back-link{font-size:9px;padding:0 7px}.topbar{padding-inline:8px}.brand-icon{width:40px;height:40px}.brand strong{font-size:14px}.icon-btn{width:35px;height:35px}.back-link{height:35px}}
