*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;overflow-x:hidden}body{color:#1c1c1e;background:#e9ecea;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-size:16px}.app{max-width:430px;min-height:100vh;padding-bottom:calc(72px + env(safe-area-inset-bottom));background:#f2f2f7;margin:0 auto;position:relative;box-shadow:0 0 30px #0002}.sticky{z-index:5;background:var(--brand);padding-top:env(safe-area-inset-top);position:sticky;top:0}.top{color:#fff;padding:10px calc(14px + env(safe-area-inset-right)) 6px calc(14px + env(safe-area-inset-left));align-items:center;gap:10px;display:flex}.top small{opacity:.8;font-size:12px;display:block}.logo{color:var(--brand);background:#fff;border-radius:10px;padding:8px 10px;font-weight:800}.ctx{gap:8px;padding:6px 12px 10px;display:flex}.ctx select{background:#ffffffe6;border:0;flex:1;min-width:0}main{padding:4px calc(12px + env(safe-area-inset-right)) 12px calc(12px + env(safe-area-inset-left))}.card{background:#fff;border-radius:16px;margin:12px 0;padding:14px;box-shadow:0 1px 2px #0001}.card h3{margin:0 0 8px;font-size:17px}.tabs{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:430px;padding-bottom:env(safe-area-inset-bottom);z-index:6;background:#fffffff2;border-top:1px solid #0002;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabs button{color:#8e8e93;background:0 0;border:0;border-radius:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:56px;padding:6px 0;font-size:11px;display:flex}.tabs .on{color:var(--brand);font-weight:600}button,select,input{font:inherit;min-height:44px;color:inherit;background:#fff;border:1px solid #d1d1d6;border-radius:12px;max-width:100%;padding:10px 12px}button{cursor:pointer}button:active{opacity:.7}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row>*{flex:auto;min-width:0}.go{background:var(--brand);color:#fff;border:0;width:100%;min-height:56px;font-size:18px;font-weight:600}.stop{color:#fff;background:#d32f2f;border:0;width:100%;min-height:56px;font-size:18px}.tracker{text-align:center}.big{font-size:44px;font-weight:700}.drive{touch-action:pan-y;border-left:6px solid;transition:transform .15s}.dhead{cursor:pointer;justify-content:space-between;gap:8px;min-height:44px;display:flex}.dhead>div:first-child{overflow-wrap:anywhere;min-width:0}.amt{text-align:right;flex:none}.tag{color:#fff;border-radius:10px;padding:2px 8px;font-size:12px;display:inline-block}.cls{grid-template-columns:repeat(5,1fr);gap:4px;margin-top:10px;display:grid}.cls button{border-color:var(--c);color:var(--c);padding:4px 0;font-size:11px}.cls .on{background:var(--c);color:#fff}.hint{color:#6c6c70;margin:4px 2px;font-size:12px}.err{color:#d32f2f}.okmsg{color:#2e7d32}.sm{color:#555;overflow-wrap:anywhere;font-size:13px}.modal{padding:calc(16px + env(safe-area-inset-top)) 10px calc(16px + env(safe-area-inset-bottom));z-index:9;background:#0007;position:fixed;inset:0;overflow:auto}.modal .card{max-width:410px;margin:0 auto}.form label,label.sm{color:#555;margin:8px 0;font-size:13px;display:block}.form input,.form select,label select,.mini input{width:100%;margin-top:4px}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.grid2>*,.grid3>*{min-width:0}.primary{background:var(--brand);color:#fff;border:0}.danger{color:#d32f2f;border-color:#d32f2f}.mini{overflow-wrap:anywhere;background:#f7f7f9;border-left:4px solid #ccc;border-radius:12px;margin:8px 0;padding:10px 12px}.kv{margin-top:4px}.kvrow{border-bottom:1px solid #0000000f;justify-content:space-between;gap:10px;padding:7px 0;font-size:14px;display:flex}.kvrow span:last-child{text-align:right;font-variant-numeric:tabular-nums;flex:none;max-width:50%}.kvrow.b{font-weight:700}.months{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.months .mini{border-left:0;margin:0}.warn{background:#fff8e1;border:1px solid #f0c000}.printonly{display:none}.sig{margin-top:24px}a{color:var(--brand)}@media (width>=431px){body{padding:0}}@media print{body{background:#fff}.app{max-width:none;box-shadow:none;background:#fff;padding:0}.no-print,.screenonly,.reports>.card:not(.printlog){display:none!important}.printonly{display:block}table.printonly{display:table}.card{box-shadow:none;padding:0}table{border-collapse:collapse;width:100%;font-size:11px}.log td,.log th{text-align:left;border:1px solid #999;padding:3px}}
