*{box-sizing:border-box}body{margin:0;font:16px/1.4 system-ui,sans-serif;background:#f4f5f7;color:#1c1f24}#app{max-width:520px;margin:0 auto;padding:10px 12px 60px}
.banner{background:#7a1f1f;color:#fff;padding:8px;text-align:center;font-size:13px;border-radius:8px;margin-bottom:8px}.bar{display:flex;gap:8px;align-items:center;margin-bottom:8px}.bar select{flex:1;padding:8px}
.tabs{display:flex;gap:4px;margin-bottom:8px}.tabs button{flex:1;padding:10px 2px;border:0;background:#dde1e7;color:#1c1f24;border-radius:8px;font-size:13px}.tabs .on{background:#0b5cad;color:#fff}
label{display:block;margin:8px 0;font-size:14px}input,textarea,select{width:100%;padding:12px;font-size:16px;border:1px solid #b8bfc9;border-radius:8px;background:#fff}
.chk{display:flex;align-items:center;gap:8px}.chk input{width:22px;height:22px}button{padding:12px 14px;font-size:16px;border:0;border-radius:10px;background:#0b5cad;color:#fff;min-height:46px}button.sec{background:#5b6573}button.danger{background:#a62323}button:disabled{opacity:.4}
.row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.row.big button{flex:1;min-height:56px}.mat{display:grid;grid-template-columns:1fr 2fr 1fr 1fr 2fr;gap:4px;margin:6px 0}.mat input{padding:8px;font-size:13px}
canvas{width:100%;height:160px;background:#fff;border:2px dashed #7a8594;border-radius:10px;touch-action:none;display:block}.sig{width:100%;border:1px solid #ccc;background:#fff;border-radius:8px}
.ok,.warn,.err{padding:10px;border-radius:8px;margin:8px 0;font-size:14px}.ok{background:#dff3e2}.warn{background:#fff1cc}.err{background:#fbdcdc}.muted{color:#5b6573;font-size:13px}
table{width:100%;border-collapse:collapse;background:#fff;font-size:14px}td,th{padding:6px;border-bottom:1px solid #e1e4e8;text-align:left}.n{text-align:right}.sum{background:#fff;padding:10px;border-radius:8px;font-size:14px}.log{font-size:12px;background:#fff;padding:8px;border-radius:8px}h3{margin:14px 0 4px}code{background:#e8ebef;padding:1px 4px;border-radius:4px}
.menu{display:grid;gap:8px}.menu button{text-align:left;display:flex;justify-content:space-between;align-items:center}.cnt{background:#fff;color:#1c1f24;border-radius:12px;padding:2px 10px;font-size:14px}
.card{background:#fff;border-radius:10px;padding:10px;margin:8px 0;font-size:14px}.paper{position:relative;background:#fff;padding:14px;border:1px solid #bbb;border-radius:6px}.wm{background:#a62323;color:#fff;text-align:center;padding:6px;font-size:12px;border-radius:4px;margin-bottom:8px}
@media print{.banner,.bar,.row,button{display:none!important}body{background:#fff}}
