:root { --bg:#f3f9ff; --card:#ffffff; --acc:#07659e; --txt:#073d70; --mut:#46677f; }
* { box-sizing:border-box; }
body { margin:0; font-family:system-ui,'Noto Sans Ethiopic',sans-serif; background:var(--bg); color:var(--txt); }
.wrap { max-width:960px; margin:0 auto; padding:16px; }
.top { display:flex; justify-content:space-between; align-items:center; padding:12px 16px; background:#020617; position:sticky; top:0; }
.brand { color:#fff; font-weight:800; text-decoration:none; font-size:20px; }
.top nav a { color:var(--txt); margin:0 8px; text-decoration:none; }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:12px; }
.card { background:var(--card); border-radius:12px; padding:14px; }
.price { color:var(--acc); font-weight:700; font-size:18px; }
.btn { display:inline-block; background:var(--acc); color:#04140a; padding:10px 16px; border-radius:10px; text-decoration:none; border:0; font-weight:700; cursor:pointer; margin:4px 4px 4px 0; }
.btn.ghost { background:transparent; border:1px solid var(--acc); color:var(--acc); }
.btn.small { padding:6px 10px; font-size:14px; }
.form label { display:block; margin:10px 0; }
.form input, .form textarea, .form select { width:100%; padding:10px; border-radius:8px; border:1px solid #334155; background:#0b1220; color:#fff; }
.list { list-style:none; padding:0; }
.list li { background:var(--card); margin:6px 0; padding:10px; border-radius:8px; }
.flash { padding:10px; border-radius:8px; margin:8px 0; }
.flash.ok { background:#14532d; } .flash.err { background:#7f1d1d; }
.muted { color:var(--mut); } .paybox .btn { display:block; width:100%; text-align:center; }
.payinfo { background:var(--card); padding:12px; border-radius:10px; }
table.tbl { width:100%; border-collapse:collapse; }
.tbl th, .tbl td { border:1px solid #334155; padding:8px; text-align:left; }
.foot { text-align:center; padding:20px; color:var(--mut); }
.admin-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(160px,1fr)); gap:10px; }
.stat { background:var(--card); padding:16px; border-radius:10px; text-align:center; }
.stat b { font-size:24px; color:var(--acc); }
img.receipt { max-width:100%; border-radius:8px; }
.top{background:#073d70}.btn{color:#fff}.btn.ghost{color:var(--acc)}
.top nav a{color:#fff}.top{flex-wrap:wrap;gap:12px}
.form input,.form textarea,.form select{background:#fff;color:#073d70;border-color:#bfd5e5}
.flash.ok{background:#d5f4f5;color:#073d70}.flash.err{background:#ffe5e5;color:#792222}
fieldset{border:1px solid #bfd5e5;border-radius:12px;padding:16px;margin:20px 0}
