:root{font-family:Arial,Helvetica,sans-serif;color:#183149;background:#f0f4fa;font-size:17px;--blue:#143f74;--muted:#63758b;--green:#137146;--yellow:#835d00;--red:#a82c2c}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;touch-action:manipulation;min-height:54px;border:0;border-radius:14px;padding:15px 20px;font-weight:700}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #eba93a;outline-offset:4px}.top{background:var(--blue);color:white;padding:20px max(22px,calc((100vw - 760px)/2));display:flex;justify-content:space-between;gap:20px;align-items:center}.brand{font-size:13px;letter-spacing:.04em}.brand b{display:block;font-size:22px;letter-spacing:0;margin-top:3px}#save-status{font-size:13px;text-align:right;max-width:190px;line-height:1.4}main{max-width:760px;margin:0 auto;padding:30px 22px 48px}h1{font-size:30px;line-height:1.2;margin:0 0 10px}h2{font-size:24px;line-height:1.25;margin:0 0 18px}p{line-height:1.45}.sub{margin:6px 0 25px;color:var(--muted);font-size:16px}.card{background:white;border-radius:22px;padding:28px;box-shadow:0 5px 24px #1831490a;margin:18px 0}.primary{background:var(--blue);color:white;width:100%}.secondary{background:#e4edf9;color:var(--blue);width:100%}.quiet{background:transparent;color:var(--blue);min-height:44px;font-weight:600;padding:12px}.danger{background:var(--red);color:white;width:100%}.outline{border:1px solid #cad7e6;background:white;color:var(--blue);width:100%}.stack{display:grid;gap:12px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid button{text-align:left}.grid .small{display:block;font-size:14px;line-height:1.4;font-weight:400;margin-top:7px}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.row.wrap{flex-wrap:wrap}label{display:block;font-weight:600;font-size:16px;margin:19px 0 9px}input,select,textarea{display:block;background:white;border:1.5px solid #bfcbda;border-radius:12px;min-height:55px;padding:13px;width:100%;color:#183149;font-size:19px}input:focus,select:focus,textarea:focus{outline:3px solid #dae9ff;border-color:var(--blue)}input[readonly]{background:#edf2f8;color:#546c85}textarea{min-height:82px;resize:vertical}input[type=checkbox]{width:24px;min-height:24px;height:24px;accent-color:var(--blue);flex-shrink:0}input[type=radio]{width:22px;height:22px;min-height:22px;accent-color:var(--blue)}.choice{padding:18px;border:1px solid #ced9e5;border-radius:14px;display:flex;align-items:center;gap:14px;margin:10px 0;min-height:60px;font-size:18px;font-weight:600}.choice:has(input:checked){border-color:var(--blue);background:#edf4ff}.choice small{font-size:14px;font-weight:400;color:var(--muted);display:block;margin-top:5px}.badge{display:inline-block;border-radius:30px;font-size:14px;font-weight:700;padding:8px 14px}.green{background:#dff3e7;color:var(--green)}.yellow{background:#fff0c2;color:var(--yellow)}.red{background:#fce2e2;color:var(--red)}.notice{padding:18px;border-radius:15px;line-height:1.55;margin:15px 0;font-size:16px}.notice button{margin-top:14px}.balance{font-size:34px;font-weight:700;margin:12px 0 6px;letter-spacing:-.03em}.tiny{font-size:14px;color:var(--muted);line-height:1.45}.day-field input{font-size:27px;font-weight:600;padding:16px;min-height:68px}.foot{margin:25px 0;display:flex;justify-content:center;flex-wrap:wrap;gap:5px}.record{border-bottom:1px solid #e2e8f1;padding:18px 0;line-height:1.5}.record:last-child{border:0}.record b{display:block}.stepbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.stepbar span{font-size:14px;color:var(--muted)}.smalltitle{font-size:15px;margin-bottom:5px;color:var(--muted)}dialog{border:0;border-radius:24px;max-width:560px;width:calc(100% - 28px);padding:26px;max-height:92vh;overflow-y:auto;box-shadow:0 25px 80px #0003}dialog::backdrop{background:#112a49a6}dialog h2{margin-top:6px}dialog #dialog-cancel{width:100%;margin-top:8px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:620px;width:calc(100% - 32px);background:#183149;color:white;padding:18px 22px;border-radius:15px;z-index:20;box-shadow:0 8px 40px #0003;line-height:1.5}#print-report{display:none}.history-item{display:block;width:100%;text-align:left;background:white;border:1px solid #d4dfea;margin:14px 0}.history-item small{display:block;color:var(--muted);font-size:14px;font-weight:400;margin-top:6px}.error{color:var(--red);font-size:15px;line-height:1.5}.full{grid-column:1/-1}.hint{margin:8px 0;color:var(--muted);font-size:14px}.money-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}.nowrap{white-space:nowrap}.report-button{background:#edf3fc;color:var(--blue);width:100%}@media(max-width:460px){main{padding:25px 16px 35px}.card{padding:22px 18px;border-radius:19px}h1{font-size:27px}.top{padding:16px 18px}.money-pair{grid-template-columns:1fr}.grid button{font-size:17px;padding:18px 14px}.balance{font-size:30px}}@media(prefers-reduced-motion:no-preference){.card{animation:enter .18s ease-out}@keyframes enter{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
@page{size:letter;margin:11mm}@media print{html,body{background:white;font-size:10px;color:#111}body>*:not(#print-report){display:none!important}#print-report{display:block!important}.print-page{height:252mm;overflow:hidden;break-after:page;page-break-after:always;padding:0}.print-page:last-child{break-after:auto;page-break-after:auto}.print-page h1{font-size:21px;margin:0 0 8px}.print-page h2{font-size:13px;margin:11px 0 6px}.print-page p{margin:4px 0;font-size:10px}.print-page table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:10px}.print-page td,.print-page th{padding:5px 4px;border-bottom:1px solid #d5d5d5;text-align:left;overflow-wrap:anywhere;line-height:1.15}.print-page th{background:#e9eef4;font-weight:bold}.print-page .totals{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:12px 0}.print-page .totals b{font-size:14px;display:block;padding-top:3px}.print-page .alert-print{border:1px solid #777;padding:8px;font-size:10px;line-height:1.35}.print-page .signature{display:flex;gap:30px;margin-top:17px}.signature span{border-top:1px solid #333;padding-top:5px;width:45%}.page-label{font-size:10px;text-align:right;color:#666} }

.trial-banner{max-width:740px;margin:16px auto 0;padding:12px 20px;background:#fff1ba;border:2px solid #d5aa32;border-radius:14px}.trial-banner[hidden]{display:none}@media print{.trial-banner{display:none}}
