:root{--ink:#152c2a;--paper:#fffaf0;--card:#fff;--accent:#e55638;--gold:#f4b860;--muted:#61716e;--line:#d9e0dc;--danger:#a92f23;--shadow:0 14px 38px #18322e17}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}.site-head{background:var(--ink);color:#fff;padding:18px clamp(16px,4vw,52px);display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.brand{font:700 1.8rem Georgia,serif;text-decoration:none;display:flex;gap:10px}.site-head nav{display:flex;gap:8px;flex-wrap:wrap}.site-head nav a{color:#fff;text-decoration:none;padding:7px 10px;border-radius:8px}.site-head nav a:hover{background:#ffffff18}.wrap{max-width:1280px;margin:auto;padding:24px clamp(15px,4vw,44px) 60px}footer{text-align:center;color:var(--muted);padding:25px}.toolbar,.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:16px;margin-bottom:20px}.toolbar{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-weight:800;font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}input,select,textarea{width:100%;border:1px solid #bdcac5;background:#fff;border-radius:10px;padding:10px 12px;min-height:44px}textarea{min-height:115px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible{outline:3px solid #f4b86099;outline-offset:2px}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:15px 0}.btn,button{display:inline-block;border:0;border-radius:10px;padding:10px 14px;background:var(--gold);font-weight:800;text-decoration:none;cursor:pointer}.btn.secondary{background:#e9eeeb}.btn.danger,button.danger{background:#fff0ee;color:var(--danger);border:1px solid #e5aaa3}.btn.dark{background:var(--ink);color:#fff}.count{margin-left:auto;color:var(--muted);font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 8px 24px #18322e0c;display:flex;flex-direction:column}.card img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#e9eeeb}.card-body{padding:17px;display:flex;flex-direction:column;flex:1}.eyebrow{display:flex;justify-content:space-between;gap:8px;color:var(--accent);font-size:.78rem;font-weight:850;text-transform:uppercase}.card h2{font:700 1.4rem/1.15 Georgia,serif;margin:8px 0}.card p{color:var(--muted);margin:0 0 12px}.meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.88rem;font-weight:700;margin-top:auto}.card-actions{display:flex;gap:7px;margin-top:14px;flex-wrap:wrap}.card-actions .btn{padding:8px 11px}.pagination{display:flex;gap:6px;justify-content:center;margin:28px 0;flex-wrap:wrap}.pagination a,.pagination span{padding:8px 11px;background:#fff;border:1px solid var(--line);border-radius:8px;text-decoration:none}.pagination .active{background:var(--ink);color:#fff}.flash{padding:12px 15px;border-radius:10px;margin-bottom:16px;font-weight:700}.flash.ok{background:#dff5e8}.flash.error{background:#ffe5e1;color:#7e2117}.login{max-width:440px;margin:8vh auto}.login h1,.panel h1,.recipe h1{font-family:Georgia,serif}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wide{grid-column:1/-1}.recipe-head{display:grid;grid-template-columns:1fr 1.2fr;background:var(--ink);color:#fff;border-radius:20px;overflow:hidden}.recipe-head img{width:100%;height:100%;min-height:330px;object-fit:cover}.recipe-title{padding:32px}.recipe-title h1{font:700 clamp(2rem,5vw,3.2rem)/1.05 Georgia,serif;margin:9px 0}.recipe-body{display:grid;grid-template-columns:.85fr 1.35fr;gap:32px;background:#fff;padding:28px;border:1px solid var(--line);border-radius:18px;margin-top:18px}.recipe-body li{margin-bottom:8px}.source{overflow-wrap:anywhere;color:#9f321f}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}.import-result{border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0;background:#fff}.notice{background:#fff3d8;padding:12px 14px;border-radius:10px}.muted{color:var(--muted)}.checkboxes{display:flex;gap:12px;flex-wrap:wrap}.empty{text-align:center;padding:50px;color:var(--muted)}
.search-results{display:grid;gap:14px}.search-result{display:grid;grid-template-columns:220px 1fr;gap:18px;border:1px solid var(--line);border-radius:14px;padding:12px;background:#fff}.search-result img{width:100%;height:150px;object-fit:cover;border-radius:10px;background:#e9eeeb}.search-result h3{font:700 1.35rem Georgia,serif;margin:3px 0 8px}.search-result p{margin:7px 0}.search-result form{margin-top:12px}button:disabled{opacity:.5;cursor:not-allowed}
.import-result{overflow:hidden}.import-preview{width:220px;max-width:40%;height:145px;object-fit:cover;border-radius:10px;float:left;margin:0 16px 10px 0}
@media(max-width:900px){.toolbar{grid-template-columns:1fr 1fr}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.toolbar,.grid,.form-grid,.recipe-head,.recipe-body,.search-result{grid-template-columns:1fr}.import-preview{float:none;width:100%;max-width:none;height:190px;margin:0 0 12px}.recipe-head img{min-height:210px;max-height:260px}.recipe-title{padding:22px}.count{width:100%;margin:0}.site-head{align-items:flex-start}}
@media print{.site-head,footer,.actions,.toolbar,.flash{display:none!important}.wrap{max-width:none;padding:0}.recipe-head{color:#000;background:#fff;grid-template-columns:1fr 1fr}.recipe-title{padding:10px}.recipe-head img{max-height:70mm;min-height:0}.recipe-body{border:0;padding:10px 0;box-shadow:none}.source{font-size:9pt}@page{size:A4;margin:15mm}}
