*{box-sizing:border-box}body{margin:0;font:16px/1.4 system-ui,sans-serif;background:#f1f4f8;color:#1b2430}
.top{background:#0f766e;color:#fff;padding:14px 16px;position:sticky;top:0;z-index:5}.top h1{margin:0;font-size:19px}
main{max-width:560px;margin:auto;padding:12px}.card{background:#fff;border-radius:14px;padding:14px;margin-bottom:12px;box-shadow:0 1px 4px #0001}
h2{font-size:16px;margin:0 0 10px}label{display:block;font-weight:600;font-size:14px;margin-bottom:10px}label small{font-weight:400;color:#6b7686}
input,select,textarea{width:100%;margin-top:4px;padding:11px;border:1px solid #cbd5e1;border-radius:9px;font:inherit;background:#fff}
.btn,button{display:inline-block;text-align:center;padding:12px 16px;border:0;border-radius:10px;background:#0f766e;color:#fff;font:600 15px system-ui,sans-serif;cursor:pointer}
.btn.big{display:block;padding:18px;font-size:18px;margin-bottom:10px}.btn.ghost,button.ghost{background:#e2e8f0;color:#1b2430}.btn.ok{background:#ea580c}
.row{display:flex;gap:8px;margin-top:10px}.row>*{flex:1}.filt button{background:#e2e8f0;color:#1b2430;padding:9px 4px;font-size:13px}.filt button.on{background:#0f766e;color:#fff}
canvas{width:100%;display:block;border-radius:8px;background:#222;touch-action:none}.hide{display:none}.hint{margin:0 0 8px;color:#6b7686;font-size:13px}
#msg{margin-top:10px;font-weight:600}.err{color:#b91c1c}.good{color:#15803d}button:disabled{opacity:.5}
.wrap{max-width:1200px;margin:auto;padding:14px}.stats{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.stat{background:#fff;padding:12px 18px;border-radius:12px;box-shadow:0 1px 4px #0001}.stat b{display:block;font-size:24px;color:#0f766e}
.filters{display:flex;gap:8px;flex-wrap:wrap;background:#fff;padding:12px;border-radius:12px}.filters input,.filters select{width:auto;margin:0}
.tbl{overflow-x:auto;background:#fff;border-radius:12px;margin-top:12px}table{border-collapse:collapse;width:100%;font-size:14px}th,td{padding:9px 10px;border-bottom:1px solid #e5e9f0;text-align:left;vertical-align:middle}th{background:#f8fafc}
.thumb{width:64px;height:64px;object-fit:cover;border-radius:6px;cursor:pointer}.tag{padding:2px 8px;border-radius:99px;font-size:12px;background:#ccfbf1}.tag.Invoice{background:#fed7aa}.tag.Other{background:#e2e8f0}
.sm{padding:6px 10px;font-size:13px;border-radius:7px}.red{background:#dc2626}a.sm{text-decoration:none}.pg{margin:14px 0;display:flex;gap:6px;flex-wrap:wrap}.pg a{padding:6px 11px;background:#fff;border-radius:7px;text-decoration:none;color:#1b2430}.pg a.on{background:#0f766e;color:#fff}
#lb{position:fixed;inset:0;background:#000d;display:none;align-items:center;justify-content:center;z-index:9}#lb img{max-width:95vw;max-height:95vh}
.login{max-width:340px;margin:12vh auto}
