*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f6f8;color:#1f2937;font-size:16px;-webkit-font-smoothing:antialiased}body{padding-bottom:40px}.loading{display:flex;align-items:center;justify-content:center;height:100vh;color:#6b7280;font-size:15px}.empty-state{text-align:center;padding:60px 20px;color:#9ca3af;font-size:15px}.header{background:#fff;padding:12px 16px;position:sticky;top:0;z-index:100;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;min-height:60px}.header-left{display:flex;flex-direction:column}.header-center{font-weight:700;font-size:16px;text-align:center;position:absolute;left:50%;transform:translate(-50%)}.header-right{display:flex;gap:8px}.car-number{font-weight:700;font-size:17px;color:#1a73e8}.month-label{font-size:13px;color:#6b7280;margin-top:2px}.icon-btn{width:40px;height:40px;border:none;background:#f3f4f6;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px}.icon-btn:active{background:#e5e7eb}.main{padding:16px;max-width:560px;margin:0 auto}.date-display{font-size:22px;font-weight:700;padding:8px 0 16px;display:flex;align-items:center;gap:8px;cursor:pointer}.date-display .cal-icon{font-size:20px;opacity:.5}.alert{background:#fef3c7;color:#92400e;padding:12px 14px;border-radius:12px;font-size:14px;margin-bottom:12px;display:flex;align-items:center;gap:10px}.alert button{margin-left:auto;background:#f59e0b;color:#fff;border:none;padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.field-group{background:#fff;border-radius:14px;margin-bottom:12px;overflow:hidden}.field-row{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid #f3f4f6;gap:10px}.field-row:last-child{border-bottom:none}.field-label{flex:1;font-size:15px;color:#374151}.field-hint{font-size:12px;color:#9ca3af;margin-top:2px}input[type=number],input[type=text],input[type=email],input[type=password]{width:110px;padding:10px 12px;border:1.5px solid #e5e7eb;border-radius:10px;font-size:17px;font-weight:600;text-align:right;background:#fafbfc;color:#1f2937;font-family:inherit}input:focus{outline:none;border-color:#1a73e8;background:#fff;box-shadow:0 0 0 3px #1a73e81a}.km-start-value{font-size:19px;font-weight:700;color:#1f2937;display:flex;align-items:center;gap:8px;margin-top:4px}.km-start-edit{background:none;border:none;font-size:16px;cursor:pointer;padding:6px;color:#1a73e8}.km-start-sub{font-size:12px;color:#9ca3af;margin-top:3px}.km-start-sub.manual{color:#f59e0b;font-weight:600}.section-title{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#6b7280;padding:20px 4px 8px}.result-group{background:#fff;border-radius:14px;margin-bottom:12px}.calc-row{display:flex;justify-content:space-between;padding:11px 16px;font-size:15px;border-bottom:1px solid #f9fafb}.calc-row:last-child{border-bottom:none}.calc-row .val{font-weight:600;color:#1f2937}.calc-row.total{background:#eff6ff;font-size:17px;padding:15px 16px;font-weight:700}.calc-row.total .val{color:#1a73e8;font-size:19px}.result-row{display:flex;justify-content:space-between;padding:14px 16px;font-size:15px;border-bottom:1px solid #f3f4f6}.result-row:last-child{border-bottom:none}.result-row .label{color:#4b5563}.result-row .val{font-weight:700;color:#1f2937;font-size:17px}.result-row.primary{background:#f0fdf4}.result-row.primary .val{color:#059669;font-size:19px}.save-btn{width:100%;padding:18px;background:#1a73e8;color:#fff;border:none;border-radius:14px;font-size:17px;font-weight:700;cursor:pointer;font-family:inherit;margin-top:8px;letter-spacing:.03em}.save-btn:active{background:#1557b0}.save-btn:disabled{background:#9ca3af;cursor:default}.logout-btn{width:100%;padding:14px;background:transparent;color:#6b7280;border:none;font-size:14px;cursor:pointer;font-family:inherit;margin-top:20px}.mini-btn{background:#f3f4f6;border:none;padding:8px 12px;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit;white-space:nowrap}.mini-btn.danger{background:#fef2f2;color:#dc2626;padding:8px 10px}.btn-primary{background:#1a73e8;color:#fff;border:none;padding:14px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}.btn-secondary{background:#f3f4f6;color:#4b5563;border:none;padding:14px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit}.login-screen{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:24px;max-width:420px;margin:0 auto}.login-logo{text-align:center;margin-bottom:32px}.login-logo-icon{font-size:56px}.login-logo h1{font-size:24px;margin:12px 0 4px;font-weight:700;color:#1f2937}.login-sub{color:#6b7280;font-size:15px;margin:0}.login-form{display:flex;flex-direction:column;gap:16px}.login-form label{display:flex;flex-direction:column;gap:6px}.login-form label span{font-size:13px;color:#6b7280;font-weight:600}.login-form input{width:100%;text-align:left;font-size:16px;font-weight:400;padding:14px}.login-error{background:#fef2f2;color:#dc2626;padding:12px 14px;border-radius:10px;font-size:14px}.login-form .btn-primary{padding:16px;font-size:16px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;display:flex;align-items:flex-end;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sheet{background:#fff;width:100%;max-width:560px;margin:0 auto;border-radius:20px 20px 0 0;padding:20px 20px calc(20px + env(safe-area-inset-bottom));max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .25s}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet h3{margin:0 0 16px;font-size:18px}.close-x{position:absolute;top:16px;right:16px;background:none;border:none;font-size:22px;cursor:pointer;color:#6b7280;padding:4px 8px}.cal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding:0 4px}.cal-header button{background:#f3f4f6;border:none;width:36px;height:36px;border-radius:10px;font-size:18px;cursor:pointer}.cal-title{font-weight:700;font-size:16px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal-dow{text-align:center;font-size:11px;color:#9ca3af;font-weight:600;padding:6px 0;text-transform:uppercase}.cal-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:15px;cursor:pointer;font-weight:500}.cal-day.empty{visibility:hidden}.cal-day.future{color:#d1d5db;cursor:not-allowed}.cal-day.filled{background:#d1fae5;color:#065f46;font-weight:700}.cal-day.today{box-shadow:inset 0 0 0 2px #1a73e8}.cal-day.selected{background:#1a73e8;color:#fff}.cal-day.selected.today{box-shadow:none}.month-nav{display:flex;gap:8px;margin-bottom:12px}.month-nav button{flex:1;background:#fff;border:1px solid #e5e7eb;padding:12px;border-radius:10px;font-size:14px;cursor:pointer;font-family:inherit;color:#4b5563}.month-list{background:#fff;border-radius:14px;overflow:hidden;margin-bottom:12px}.month-row{display:grid;grid-template-columns:48px 1fr auto;gap:12px;padding:12px 16px;border-bottom:1px solid #f3f4f6;align-items:center;cursor:pointer}.month-row:last-child{border-bottom:none}.month-row:active{background:#f9fafb}.month-date{font-size:13px;color:#6b7280}.month-date .d{font-weight:700;color:#1f2937;font-size:15px}.month-info{font-size:13px;color:#4b5563}.month-info .empty{color:#d1d5db}.month-amount{text-align:right;font-size:14px;font-weight:600}.month-amount.empty{color:#d1d5db;font-weight:400}.month-total{background:#eff6ff;padding:16px;border-radius:14px;margin-bottom:12px;font-size:14px;line-height:1.8}.month-total b{color:#1a73e8}.reason-options{display:flex;flex-direction:column;gap:8px;margin:12px 0}.reason-option{padding:14px 16px;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:12px;font-size:15px;cursor:pointer;text-align:left;font-family:inherit}.reason-option.selected{background:#eff6ff;border-color:#1a73e8;color:#1a73e8;font-weight:600}.sheet-actions{display:flex;gap:10px;margin-top:16px}.sheet-actions button{flex:1}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%) translateY(20px);background:#1f2937;color:#fff;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:500;z-index:300;opacity:0;pointer-events:none;transition:all .3s;box-shadow:0 4px 20px #00000026}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}
