:root{font:15px system-ui,sans-serif;color:#25372e;background:#f6f4ed;--green:#244b3c;--line:#dedfd5;--muted:#70786e}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:11px 16px;background:#fff;color:var(--green)}button:disabled{cursor:wait;opacity:.55}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #cf983a;outline-offset:3px}.primary{background:var(--green);color:#fff;border-color:var(--green)}header{background:var(--green);color:#fff;padding:21px 5%;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font:24px Georgia,serif}.status{font-size:12px;border:1px solid #ffffff50;border-radius:30px;padding:7px 12px}main{max-width:1280px;margin:42px auto;padding:0 28px}.eyebrow{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.8px;color:var(--muted)}h1{font:44px Georgia,serif;margin:12px 0}h2{font:29px Georgia,serif}h3{font:22px Georgia,serif}p{line-height:1.65}.top{display:flex;align-items:center;justify-content:space-between;gap:20px}.muted,.meta,.count{color:var(--muted)}.meta,.count{font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.toolbar{display:flex;margin:30px 0 20px}.toolbar input{width:100%}input,select,textarea{border:1px solid var(--line);background:#fff;color:inherit;border-radius:8px;padding:12px;min-width:0}textarea{resize:vertical;width:100%}.layout{display:grid;grid-template-columns:185px 1fr;gap:32px}nav{display:flex;flex-direction:column;gap:5px}nav button{text-align:left;border-color:transparent;background:transparent}nav .active{background:#e1e7db;font-weight:650}.count{margin-top:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{padding:0;overflow:hidden;text-align:left;border-radius:12px;transition:transform .15s}.card:hover{transform:translateY(-3px);box-shadow:0 6px 18px #244b3c12}.art{height:76px;background:#e6eadc;display:flex;align-items:center;justify-content:space-between;padding:20px;font-size:26px}.art span:last-child{font-size:18px}.card:nth-child(3n+2) .art{background:#f1e5d2}.card:nth-child(3n+3) .art{background:#e6e8e8}.card-body{padding:20px}.card h3{margin:10px 0 16px;overflow-wrap:anywhere}.card p:last-child{margin-bottom:0}.note,.notice{background:#e7ecdf;padding:15px 20px;border-radius:8px;font-size:13px;margin:18px 0;line-height:1.6}.alert{background:#f8e5dc;padding:15px;border-radius:8px;color:#7f3522;margin:15px 0;overflow-wrap:anywhere}.alert button,.notice button{float:right;padding:2px 7px}.welcome,.empty{padding:35px;background:#fff;border:1px solid var(--line);border-radius:12px;margin:25px 0}.empty{margin-top:0;text-align:center}footer{color:var(--muted);font-size:12px;line-height:1.6;margin:35px 0}dialog{border:0;border-radius:14px;padding:30px;max-width:780px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 20px 80px #0003;color:inherit;background:#fdfdf9}dialog::backdrop{background:#172d2470}.close{float:right}.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;margin-bottom:14px}.wide{grid-column:1/-1}.recipe-body{display:grid;grid-template-columns:1fr 1.3fr;gap:30px}.pre{white-space:pre-wrap;overflow-wrap:anywhere}.ingredient{padding:9px 0;border-bottom:1px solid var(--line)}.portions{max-width:160px}.danger{color:#a34532}.dropzone{padding:25px;border:2px dashed #a5b39e;border-radius:12px;text-align:center}.photo-preview{display:block;max-width:100%;max-height:230px;margin:20px auto}.stats{background:#fff;padding:28px;border-radius:12px;border:1px solid var(--line);margin-top:25px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metrics div{display:flex;flex-direction:column;gap:10px;background:#f1f4ed;border-radius:10px;padding:22px}.metrics strong{font:32px Georgia,serif}.metrics span{font-size:12px;color:var(--muted)}summary{cursor:pointer}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){header{padding:16px;flex-wrap:wrap}.brand{font-size:21px}.status{font-size:11px}main{padding:0 18px;margin:25px auto}h1{font-size:36px}.top{flex-direction:column;align-items:flex-start}.layout{grid-template-columns:1fr;gap:18px}nav{flex-direction:row;overflow:auto}nav button{white-space:nowrap}.grid,.fields,.recipe-body,.metrics{grid-template-columns:1fr}dialog{padding:22px}.stats{padding:16px}.metrics div{padding:15px}}@media print{body{background:#fff}body:has(dialog[open]) header,body:has(dialog[open]) main,button,dialog:not([open]){display:none!important}dialog[open]{position:static;max-height:none;max-width:none;width:100%;box-shadow:none;background:#fff}dialog::backdrop{background:#fff}.recipe-body{display:block}}.access-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid var(--line)}.access-row p{margin:4px 0 0;overflow-wrap:anywhere}.access-row>div:first-child{min-width:0}.member-role{font-size:12px;background:#e7ecdf;padding:7px 10px;border-radius:20px;white-space:nowrap}@media(max-width:650px){.access-row{align-items:flex-start;flex-direction:column;gap:8px}.access-row .actions{margin:6px 0}.member-role{white-space:normal}}.photo-result{margin-top:22px;padding:20px;background:#edf1e8;border:1px solid var(--line);border-radius:10px}.photo-result li{margin:7px 0;line-height:1.5}
