*{box-sizing:border-box}body{margin:0;background:#f5f7fb;color:#172033;font-family:Tahoma,Arial,sans-serif;font-size:14px}.container{max-width:1180px;margin:auto;padding:0 18px}.topbar{background:#101828;color:white;box-shadow:0 2px 10px #0001}.navwrap{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:10px}.brandmark{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#12b76a;font-weight:900}.brand small{display:block;color:#aab2c0;margin-top:3px}.topbar nav{display:flex;align-items:center;gap:18px}.topbar a,.linkbtn{color:#e7ebf2;text-decoration:none;background:none;border:0;cursor:pointer;font:inherit}.topbar a:hover,.linkbtn:hover{color:#fff}.inline{display:inline}.content{padding-top:28px;padding-bottom:40px}.pagehead{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.pagehead h1{margin:0 0 6px;font-size:26px}.pagehead p,.muted{color:#667085;margin:0}.card{background:white;border:1px solid #e4e7ec;border-radius:14px;padding:20px;margin-bottom:20px;box-shadow:0 3px 14px #10182808}.narrow{max-width:650px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.stat span{color:#667085}.stat strong{font-size:30px;display:block;margin-top:10px}.btn{display:inline-block;border:1px solid #d0d5dd;background:white;color:#344054;border-radius:9px;padding:9px 14px;text-decoration:none;cursor:pointer;font:inherit}.btn.primary{background:#1570ef;border-color:#1570ef;color:#fff}.btn.danger{background:#d92d20;border-color:#d92d20;color:#fff}.btn.ghost{background:transparent}.btn.full{width:100%}.cardhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.card h2{font-size:18px;margin:0 0 16px}.cardhead h2{margin:0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px 10px;border-bottom:1px solid #eaecf0;text-align:right;white-space:nowrap}th{font-size:12px;color:#667085;background:#f9fafb}.actions{display:flex;gap:12px}.actions a,a{color:#175cd3;text-decoration:none}.dangertext{color:#b42318!important}.badge{padding:4px 9px;border-radius:99px;background:#f2f4f7;color:#475467;font-size:12px}.badge.ok{background:#ecfdf3;color:#027a48}.empty{text-align:center;color:#98a2b3;padding:35px}.search{display:flex;gap:8px;margin-bottom:16px}.search input{flex:1}.form-control,input,select,textarea{width:100%;border:1px solid #d0d5dd;border-radius:9px;padding:10px 11px;background:#fff;font:inherit}.form-control:focus,input:focus,select:focus,textarea:focus{outline:2px solid #84adff;border-color:#84adff}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:15px}.field label{display:block;font-weight:700;margin-bottom:7px}.span2{grid-column:span 2}.form-check-input{width:auto}.recipe-head,.recipe-row{display:grid;grid-template-columns:2fr 1fr 1.2fr 2fr .7fr .5fr;gap:10px;align-items:center}.recipe-head{font-size:12px;color:#667085;padding:8px 0}.recipe-row{padding:8px 0;border-top:1px solid #f0f2f5}.deletebox{text-align:center}.hint{font-size:12px;color:#667085;margin-top:14px}.formactions{display:flex;gap:10px;justify-content:flex-start}.grid2{display:grid;grid-template-columns:1.4fr .8fr;gap:18px}.textblock{line-height:2;color:#344054}.alert{padding:12px 14px;border-radius:9px;margin-bottom:14px;background:#eff8ff;color:#175cd3}.alert.success{background:#ecfdf3;color:#027a48}.alert.error{background:#fef3f2;color:#b42318}.err{color:#b42318;display:block;margin-top:5px}.login-card{max-width:420px;margin:70px auto}.footer{color:#98a2b3;text-align:center;padding:20px}.login-card input{margin-top:3px}
@media(max-width:800px){.navwrap{align-items:flex-start;flex-direction:column;padding-top:14px;padding-bottom:14px}.topbar nav{gap:10px;flex-wrap:wrap}.stats,.grid2,.formgrid{grid-template-columns:1fr}.span2{grid-column:auto}.pagehead{align-items:flex-start;flex-direction:column}.recipe-head{display:none}.recipe-row{grid-template-columns:1fr 1fr}.recipe-row>div:nth-child(1){grid-column:span 2}.search{flex-wrap:wrap}.search input{min-width:100%}}
