:root{--bg:#143c37;--ink:#20352e;--cream:#faf7ee;--muted:#637269;--accent:#aa4833;--line:#dedfd4;--gold:#dfc788;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}header{max-width:1000px;margin:auto;padding:26px 24px;display:flex;justify-content:space-between;align-items:center}.brand{color:var(--cream);font:28px Georgia,serif;text-decoration:none}.brand small{display:block;font:10px Arial,sans-serif;letter-spacing:3px;color:var(--gold);margin-top:6px}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);padding:12px 18px;font-weight:600}button:hover{filter:brightness(.96)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #d4a135;outline-offset:3px}main{max-width:900px;padding:20px 24px 48px;margin:auto;min-height:60vh}h1,h2,h3{font-family:Georgia,serif;line-height:1.15}h1{font-size:clamp(35px,6vw,58px);margin:18px 0}h2{font-size:28px;margin:0 0 20px}h3{font-size:23px;margin:10px 0}p,li{line-height:1.65}.hero{color:var(--cream);padding:15px 0 30px;max-width:730px}.hero p{font-size:19px;color:#d6e0d5}.eyebrow{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--gold);font-weight:700}.card{background:var(--cream);border-radius:22px;padding:28px;margin:16px 0;border:1px solid #e4e3d8}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.features article{background:#244b43;border-radius:16px;padding:20px;color:#fff}.features strong{display:block;color:var(--gold);margin-bottom:8px}.features p{font-size:14px;margin:0}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.wide{width:100%}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.row>*{flex:1}.muted{color:var(--muted);font-size:14px}.note{background:#e9eee3;padding:15px;border-radius:12px;line-height:1.6;margin:15px 0}.warn{background:#fff0df;color:#744025}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;margin:12px 0}.field input,.field select{width:100%;border:1px solid #bbbfb3;border-radius:10px;padding:12px;background:#fff;font-size:16px;min-height:46px}.check{display:flex;align-items:flex-start;gap:10px;margin:14px 0;line-height:1.5;font-size:15px}.check input{width:20px;height:20px;flex-shrink:0;accent-color:var(--bg)}fieldset{border:0;margin:18px 0;padding:0}legend{font-weight:700;margin-bottom:8px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips label{background:white;border:1px solid var(--line);border-radius:10px;padding:9px;display:flex;gap:7px;align-items:center}.chips input{accent-color:var(--bg);width:17px;height:17px}.progress{color:#dce6dc;margin-bottom:20px}progress{display:block;width:100%;height:6px;accent-color:var(--gold);margin-top:10px}.error{color:#922d20;font-size:14px;line-height:1.5}.big{font-size:54px;font-weight:700;letter-spacing:-2px}.macros{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.macros div{padding:14px;border-radius:12px;background:#e8eee3;text-align:center}.macros b{display:block;font-size:22px}.days{display:flex;gap:8px;overflow:auto;margin:20px 0}.days button{white-space:nowrap}.days .active{background:var(--gold);border-color:var(--gold)}.meal{border-top:1px solid var(--line);padding:24px 0;break-inside:avoid}.meal:first-child{border:0}.meal img{width:100%;max-height:260px;object-fit:cover;border-radius:15px;margin:12px 0}.meal small{font-size:13px;color:var(--muted)}.meal ul,.meal ol{padding-left:23px}.meal select{max-width:100%;width:100%;padding:12px;border:1px solid #b9c7b7;border-radius:10px;background:#fff;font-size:16px}.totals{background:#dce8d9;padding:16px;border-radius:12px;line-height:1.6}.shopping label{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.shopping label span{flex:1}.shopping input:checked+span{text-decoration:line-through;opacity:.55}.access{font:12px ui-monospace,monospace;overflow-wrap:anywhere;padding:12px;background:white;border:1px dashed #7e8e7d;border-radius:10px;user-select:all}.price{font-size:38px;font-weight:700}.paid{color:#245c3d;font-weight:700}details summary{cursor:pointer;font-weight:600;padding:8px 0}footer{max-width:900px;margin:auto;padding:20px 24px 35px;display:flex;gap:20px;justify-content:center;flex-wrap:wrap;color:#d5e1d2;font-size:13px}footer a{color:#d5e1d2}footer button{font-size:12px;background:transparent;color:#d5e1d2;border:0;padding:0}#message:not(:empty){position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:90vw;width:540px;background:#fff7e8;color:#503621;padding:16px 20px;border:1px solid #c9b589;border-radius:14px;box-shadow:0 10px 35px #0005;z-index:10}#print-area{display:none}.light-title{color:var(--cream)}@media(max-width:600px){main{padding:10px 15px 30px}header{padding:20px 15px}.card{padding:20px;border-radius:17px}.grid,.features{grid-template-columns:1fr}.features{gap:8px}.features article{padding:15px}.row>*{min-width:130px}.big{font-size:44px}.meal img{max-height:220px}}
@page{size:A4;margin:16mm}@media print{body{background:#fff;color:#000}header,main,footer,#message{display:none!important}#print-area{display:block;font:11pt Arial,sans-serif}#print-area h1{font-size:24pt}#print-area h2{font-size:19pt}#print-area h3{font-size:15pt}#print-area .print-day{break-before:page}#print-area .print-access{border:4px solid #143c37;background:#f4ecd2;padding:16px;margin:18px 0;break-inside:avoid;text-align:center}#print-area .print-access h2{margin:0 0 8px}#print-area .print-access .access{font-size:20pt;font-weight:800;letter-spacing:3px;border:2px dashed #143c37}#print-area .meal{break-inside:auto;padding:10px 0}#print-area li{break-inside:avoid;line-height:1.4}#print-area .meal img,#print-area select,#print-area button{display:none}#print-area .card{border:0;padding:0;background:#fff}#print-area .shopping label{break-inside:avoid}#print-area .access{font-size:13pt;font-weight:700;letter-spacing:2px}#print-area .note{background:#fff;border:1px solid #ddd}#print-area .totals{background:white;border:1px solid #ddd}}
