:root{--bg:#0f172a;--panel:#111827;--line:#334155;--text:#e5e7eb;--muted:#94a3b8;--accent:#22c55e;--danger:#dc2626}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#0b1220,#111827);color:var(--text)}
a{color:#c7f9cc;text-decoration:none}a:hover{text-decoration:underline}
.container{max-width:1200px;margin:0 auto;padding:24px}
.topbar{position:sticky;top:0;z-index:10;background:rgba(15,23,42,.95);border-bottom:1px solid var(--line)}
.topbar .inner{max-width:1200px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{font-size:1.1rem;font-weight:700}.nav{display:flex;flex-wrap:wrap;gap:10px}.nav a{padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#0b1220}.nav a.active,.nav a:hover{background:#16a34a;border-color:#16a34a;color:#fff;text-decoration:none}
.hero{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 18px}.hero h1{margin:0 0 8px;font-size:2rem}.hero p{margin:0;color:var(--muted)}
.card{background:rgba(17,24,39,.95);border:1px solid var(--line);border-radius:18px;padding:18px}
.form-grid,.form-grid-3,.grid,.recipe-list{display:grid;gap:14px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.recipe-list{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.recipe-list,.form-grid,.form-grid-3{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:6px}label{font-weight:600}
input,select,textarea,button{font:inherit}input,select,textarea{width:100%;padding:11px 12px;border-radius:12px;border:1px solid var(--line);background:#0b1220;color:var(--text)}textarea{min-height:110px;resize:vertical}
button,.btn,.btn-secondary,.btn-danger,.btn-link{cursor:pointer;border:none;border-radius:12px;padding:11px 14px;font-weight:700;display:inline-block}
.btn{background:var(--accent);color:#052e16}.btn-secondary{background:#334155;color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-link{background:transparent;border:1px solid var(--line);color:var(--text)}
.actions,.toolbar,.badges{display:flex;flex-wrap:wrap;gap:10px}.toolbar{align-items:end;margin-bottom:16px}.toolbar .field{min-width:180px;flex:1}
.message{margin:12px 0;padding:12px 14px;border-radius:12px;border:1px solid transparent;display:none}.message.show{display:block}.message.ok{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.35)}.message.error{background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.35)}
.recipe-card{background:#0b1220;border:1px solid var(--line);border-radius:16px;padding:16px}.recipe-card h3{margin:0 0 6px}
.badge{display:inline-flex;padding:4px 10px;border-radius:999px;background:#1f2937;border:1px solid var(--line);font-size:.86rem;color:#d1d5db}
.kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.mini{background:#111827;border:1px solid var(--line);border-radius:12px;padding:10px}.label{font-size:.8rem;color:var(--muted);display:block;margin-bottom:4px}
.tableish{width:100%;border-collapse:collapse}.tableish th,.tableish td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top}
.empty{color:var(--muted);padding:24px;text-align:center}.note{color:var(--muted);font-size:.95rem}.split{display:flex;justify-content:space-between;align-items:center;gap:12px}ul.clean{padding-left:18px}hr.soft{border:none;border-top:1px solid var(--line);margin:18px 0}
