*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1f2937;background:#f3f4f6}
.wrap{max-width:1100px;margin:0 auto;padding:0 16px}.top{background:#0f766e;color:#fff}.top .wrap{display:flex;justify-content:space-between;align-items:center;height:56px}
.brand{color:#fff;text-decoration:none;font-weight:700;font-size:1.2rem}.brand span{opacity:.75}nav a{color:#fff;margin-left:16px;text-decoration:none}
h1{margin:24px 0 4px}.lead{color:#4b5563;margin-top:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:820px){.grid{grid-template-columns:1fr}}
.card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #0001;margin-bottom:16px}h2{margin-top:0;font-size:1.15rem}
fieldset{border:1px solid #e5e7eb;border-radius:8px;margin:0 0 12px;padding:8px 12px}legend{font-weight:600;font-size:.9rem;color:#0f766e}
label{display:block;font-size:.85rem;color:#4b5563;margin-bottom:8px;flex:1}input,select,textarea{width:100%;padding:8px;border:1px solid #d1d5db;border-radius:6px;font:inherit;margin-top:2px;background:#fff}
.row{display:flex;gap:8px;flex-wrap:wrap}.item{display:grid;grid-template-columns:1fr 64px 96px 32px;gap:6px;margin-bottom:6px}.item input{margin:0}
button{background:#0f766e;color:#fff;border:0;border-radius:8px;padding:10px 14px;font:inherit;cursor:pointer}button.alt{background:#1e3a8a}button.ghost{background:#e5e7eb;color:#111}button.x{background:#fee2e2;color:#991b1b;padding:4px}
.actions{display:flex;gap:8px;flex-wrap:wrap}.msg{color:#0f766e;min-height:1.5em}
.receipt{border:1px dashed #9ca3af;padding:20px;border-radius:8px;background:#fff}.receipt h3{margin:0;letter-spacing:.05em}.sig{margin-top:24px}.receipt .muted{color:#6b7280;font-size:.85rem;white-space:pre-line}
.receipt table{width:100%;border-collapse:collapse;margin:12px 0}.receipt td,.receipt th{padding:4px;border-bottom:1px solid #eee;text-align:left}.r{text-align:right!important}
.receipt .total td{font-weight:700;border-top:2px solid #111}.made{font-size:.75rem;color:#9ca3af;text-align:center;margin-top:12px}
.tablewrap{overflow-x:auto}#tbl{width:100%;border-collapse:collapse}#tbl th,#tbl td{padding:8px;border-bottom:1px solid #eee;text-align:left}#tbl tbody tr{cursor:pointer}#tbl tbody tr:hover{background:#f0fdfa}
.ledgerbar input{flex:1}.sum{font-weight:600}.hint,.disclaimer{color:#6b7280;font-size:.85rem}
.ad{min-height:90px;border:1px dashed #d1d5db;color:#9ca3af;display:flex;align-items:center;justify-content:center;margin:16px 0;font-size:.8rem;border-radius:8px}
.badge{background:#fef3c7;color:#92400e;font-size:.75rem;padding:2px 8px;border-radius:99px;vertical-align:middle}
.faq details{border-bottom:1px solid #eee;padding:8px 0}.faq summary{cursor:pointer;font-weight:600}
.foot{padding:24px 0;color:#6b7280;font-size:.9rem}.foot a{color:#0f766e}
@media print{body{background:#fff}body *{visibility:hidden}#receipt,#receipt *{visibility:visible}#receipt{position:absolute;left:0;top:0;width:100%;border:0}}
.tform{align-items:flex-end}.tform button{margin-bottom:8px}.filebtn{display:inline-flex;align-items:center;background:#e5e7eb;color:#111;border-radius:8px;padding:10px 14px;cursor:pointer;flex:0;margin:0}.ledgerbar{align-items:center}.ledgerbar select{width:auto}
