:root{--bg:#fdf6ec;--surface:#fff;--ink:#3a3027;--ink-soft:#7a6f63;--accent:#c4622d;--accent-dark:#a44e22;--border:#e7ddcd;--danger:#b3402e;--radius:10px;--shadow:0 1px 3px #3a30271f}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}a{color:var(--accent-dark)}.site-header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.75rem 1.25rem;display:flex}.site-title{color:var(--accent);letter-spacing:-.01em;font-size:1.4rem;font-weight:700;text-decoration:none}.site-nav{align-items:center;gap:1.1rem;display:flex}.import-note{color:#2f4a63;border-radius:var(--radius);background:#e9f0f7;border:1px solid #9cb6cf;margin-bottom:1rem;padding:.6rem .8rem}.container{max-width:1100px;margin:0 auto;padding:1.25rem}.btn,button.btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--ink);cursor:pointer;padding:.5rem 1rem;font-size:.95rem;text-decoration:none;display:inline-block}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.btn-danger{background:var(--surface);border-color:var(--danger);color:var(--danger)}.btn-danger:hover{background:var(--danger);color:#fff}.link-btn{color:var(--accent-dark);cursor:pointer;background:0 0;border:none;padding:0;font-size:.95rem;text-decoration:underline}.filters{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.25rem;display:flex}.filters input[type=text],.filters select{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:.5rem .65rem;font-size:.95rem}.filters input[type=text]{flex:220px;min-width:0}.checkbox{color:var(--ink-soft);align-items:center;gap:.3rem;font-size:.9rem;display:inline-flex}.result-count{color:var(--ink-soft);margin:0 0 .75rem;font-size:.9rem}.recipe-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}.recipe-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--ink);flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.recipe-card:hover{border-color:var(--accent)}.card-thumb{aspect-ratio:4/3;object-fit:cover;background:#f0e7d8;width:100%;display:block}.card-thumb.placeholder{color:var(--ink-soft);justify-content:center;align-items:center;font-size:.85rem;display:flex}.card-body{flex-direction:column;flex:1;gap:.3rem;padding:.6rem .7rem;display:flex}.card-name{font-size:.95rem;font-weight:600}.card-meta{color:var(--ink-soft);gap:.4rem;margin-top:auto;font-size:.8rem;display:flex}.pagination{justify-content:center;align-items:center;gap:.75rem;margin:1.5rem 0 .5rem;display:flex}.recipe-detail h1{margin:.25rem 0 .5rem}.detail-image{border-radius:var(--radius);border:1px solid var(--border);width:420px;max-width:100%}.badges{flex-wrap:wrap;gap:.4rem;margin:.5rem 0;display:flex}.badge{color:var(--ink-soft);background:#f0e7d8;border-radius:999px;padding:.15rem .55rem;font-size:.8rem;display:inline-block}.badge.tag{background:#ece0cc}.section-block{margin:1.25rem 0}.section-block h2{border-bottom:2px solid var(--border);padding-bottom:.2rem}.subheader{color:var(--accent-dark);margin:.75rem 0 .25rem}.notes p{border-radius:var(--radius);background:#f0e7d8;padding:.5rem .75rem}.detail-actions{flex-wrap:wrap;gap:.6rem;margin:1.5rem 0;display:flex}.field{margin-bottom:1rem}.field label{margin-bottom:.25rem;font-size:.95rem;font-weight:600;display:block}.field .hint{color:var(--ink-soft);font-size:.85rem;font-weight:400}.field input[type=text],.field input[type=url],.field input[type=email],.field input[type=number],.field select,.field textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--ink);padding:.5rem .65rem;font-family:inherit;font-size:.95rem}.field textarea{resize:vertical}.field-row{flex-wrap:wrap;gap:1rem;display:flex}.field-row .field{flex:160px}.form-error{border:1px solid var(--danger);color:var(--danger);border-radius:var(--radius);background:#f8e0db;margin-bottom:1rem;padding:.6rem .8rem}.form-ok{color:#3f5e2c;border-radius:var(--radius);background:#e3efdc;border:1px solid #6f9a52;margin-bottom:1rem;padding:.6rem .8rem}.login-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);max-width:380px;box-shadow:var(--shadow);margin:3rem auto;padding:1.75rem}.login-box h1{color:var(--accent);margin-top:0}.empty{text-align:center;color:var(--ink-soft);padding:3rem 1rem}
