:root{--bg: #12100f;--surface: #1c1917;--border: #2f2a26;--text: #f5f1ed;--muted: #a8a09a;--accent: #e0a75e;--danger: #f08b7f;color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.5}h1,h2{margin:0}.centered{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;padding:2rem 1rem;text-align:center}.brand h1{font-size:2rem;color:var(--accent)}.brand p{margin:.25rem 0 0;color:var(--muted)}.app{max-width:60rem;margin:0 auto;padding:1.5rem 1rem 3rem}.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}.topbar h1{font-size:1.25rem;color:var(--accent)}.topbar-actions{display:flex;align-items:center;gap:.75rem}button{font:inherit;padding:.4rem .9rem;border-radius:.5rem;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.6;cursor:default}.request{color:var(--muted);font-size:.9rem}.request code{background:var(--surface);border:1px solid var(--border);border-radius:.4rem;padding:.15rem .4rem}.error{border:1px solid var(--danger);border-radius:.5rem;padding:.75rem 1rem;color:var(--danger)}.muted{color:var(--muted)}.cards{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr))}.card{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1rem 1.25rem}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.card-head h2{font-size:1.1rem}.id{color:var(--muted);font-size:.8rem}.category{margin:.15rem 0 .75rem;color:var(--muted);font-size:.85rem}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .75rem;padding:0}.tags li{font-size:.75rem;border:1px solid var(--border);border-radius:999px;padding:.1rem .55rem;color:var(--accent)}.ingredients{margin:0 0 .75rem;padding-left:1.1rem;font-size:.9rem}.recipe{margin:0 0 .5rem;font-size:.9rem}.tabs{display:flex;gap:.25rem;padding:.2rem;border:1px solid var(--border);border-radius:.6rem;background:var(--bg)}.tab{border-color:transparent;background:transparent;color:var(--muted);padding:.3rem .8rem}.tab.active{background:var(--surface);border-color:var(--border);color:var(--accent)}.console-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:1.25rem 0}.admin-head h2{font-size:1.1rem}.admin-head p{margin:.25rem 0 0;max-width:34rem;font-size:.9rem}.admin-gate{margin:3rem auto;max-width:30rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.admin-gate h2{font-size:1.1rem}.reference-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}.reference-card{display:flex;flex-direction:column;gap:.75rem}.reference-add{display:flex;gap:.5rem}.reference-add input{flex:1;min-width:0;font:inherit;padding:.4rem .6rem;border-radius:.5rem;border:1px solid var(--border);background:var(--bg);color:var(--text)}.reference-add input:focus{outline:none;border-color:var(--accent)}.reference-items{list-style:none;margin:0;padding:0;max-height:14rem;overflow-y:auto;display:flex;flex-direction:column;gap:.15rem}.reference-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.2rem .1rem;font-size:.9rem}.reference-actions{display:flex;gap:.25rem}.reference-item:hover .reference-actions button,.reference-item:focus-within .reference-actions button,.cocktail-row:hover .reference-actions button,.cocktail-row:focus-within .reference-actions button{border-color:var(--border);color:var(--text)}.reference-actions button{padding:.1rem .45rem;font-size:.75rem;color:var(--muted);border-color:transparent}.reference-actions button:hover:not(:disabled){border-color:var(--accent)!important;color:var(--accent)!important}.reference-card .error{font-size:.85rem;padding:.5rem .75rem}.admin-tabs{display:inline-flex;margin-bottom:1.25rem}.created{border:1px solid var(--accent);border-radius:.5rem;padding:.6rem .9rem;margin:0 0 1rem;color:var(--accent);font-size:.9rem}.cocktail-form{display:flex;flex-direction:column;gap:1rem;max-width:42rem}.cocktail-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;color:var(--muted)}.cocktail-form input,.cocktail-form select,.cocktail-form textarea{font:inherit;padding:.4rem .6rem;border-radius:.5rem;border:1px solid var(--border);background:var(--bg);color:var(--text)}.cocktail-form input:focus,.cocktail-form select:focus,.cocktail-form textarea:focus{outline:none;border-color:var(--accent)}.cocktail-form fieldset{border:1px solid var(--border);border-radius:.75rem;padding:.75rem 1rem 1rem;margin:0}.cocktail-form legend{padding:0 .4rem;font-size:.85rem;color:var(--muted)}.checkboxes{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.checkbox{flex-direction:row!important;align-items:center;gap:.4rem!important;color:var(--text)!important}.ingredient-rows{display:flex;flex-direction:column;gap:.5rem}.ingredient-row{display:grid;grid-template-columns:minmax(8rem,2fr) 4.5rem 4rem minmax(8rem,1.5fr) auto;gap:.4rem;align-items:center}.ingredient-row .field-error{grid-column:1 / -1}.add-row{align-self:flex-start;font-size:.85rem}.field-error{border:none;padding:0;font-size:.8rem;margin:0}.offers{display:flex;flex-wrap:wrap;gap:.5rem}.offers button{border-color:var(--accent);color:var(--accent);font-size:.85rem}.form-actions{display:flex;gap:.5rem}.cocktail-table{display:flex;flex-direction:column;gap:.75rem}.cocktail-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.cocktail-row{display:grid;grid-template-columns:minmax(10rem,2fr) minmax(8rem,1fr) auto;align-items:center;gap:.75rem;padding:.4rem .2rem;border-bottom:1px solid var(--border);font-size:.9rem}.cocktail-row:last-child{border-bottom:none}.cocktail-category{font-size:.8rem}.confirm{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.confirm button{padding:.15rem .5rem;font-size:.8rem}.confirm .danger{border-color:var(--danger);color:var(--danger)}.confirm .danger:hover:not(:disabled){background:var(--danger);color:var(--bg)}
