.app .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;align-items:start}
.app .field{min-width:0}
.app .field label{display:block;font-size:11px;line-height:16px;min-height:16px;margin-bottom:6px}
.app .field input,.app .field select{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:44px;margin:0;padding:10px 11px;border:1px solid #d8e1e5;border-radius:8px;background:#fff;color:#18212a;font:inherit;font-size:16px;line-height:22px}
.app .field input[type=date]{appearance:none;-webkit-appearance:none;text-align:left}
.app .field input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:22px}
.app .field textarea{box-sizing:border-box;width:100%;min-width:0;font-size:16px;min-height:76px}
.app .field input:focus,.app .field select:focus,.app .field textarea:focus{outline:2px solid #07999d;outline-offset:1px}
.app .sync-box{background:#f7fbfc;padding:14px;font-size:12px}
.app .sync-box>summary{font-size:14px;font-weight:800;cursor:pointer}
.app .sync-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.app .sync-actions button{width:100%;min-height:44px;margin:0;padding:10px 6px;font-size:13px}
.app .sync-box #syncCreate{background:#07999d;color:#fff}
.app .sync-box input{min-width:0;max-width:100%;box-sizing:border-box;font-size:16px;border:1px solid #d8e1e5;border-radius:8px}
.app .sync-hint{font-size:11px;color:#657580}
.app .sync-advanced{margin-top:12px;border-top:1px solid #dce5e8;padding-top:12px}
.app .sync-advanced summary{cursor:pointer;margin-bottom:10px}
.app #syncStatus{margin:10px 0 0;color:#245d67}
.app #syncInvite{margin:12px 0;padding:10px;border:1px solid #07999d;border-radius:8px;background:#eaf8f7}

/* Keep navigation in task order; reserve equal touch targets on narrow phones. */
.app .tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:4px;margin:16px 0;background:#f0f5f6;border-radius:12px}
.app .tabs label{min-width:0;min-height:44px;height:auto;padding:8px 2px;margin:0;border:0;border-radius:8px;background:transparent;box-shadow:none;font-size:12px;font-weight:800;white-space:nowrap;letter-spacing:-.4px}
.app .tabs label:focus-within{outline:2px solid #07999d}
.app .top{grid-template-columns:minmax(0,1fr);gap:14px}
.app .brand{gap:8px}
.app .brand h1{font-size:21px;letter-spacing:-.6px}
.app .brand p{font-size:11px;margin-top:6px}
.app .excel-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.app .excel-btn{height:40px;font-size:12px;border-radius:9px;background:#fafcfc}
.overview-help{margin:-5px 0 12px;color:#687781;font-size:11px}
.overview-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.overview-category{min-width:0;padding:14px;text-align:left;border:1px solid #dce5e8;border-radius:12px;background:#f7fbfc;color:#243841;cursor:pointer}
.overview-category>span{display:block;font-size:13px;font-weight:700}
.overview-category small{font-size:11px;font-weight:400;color:#657580;margin-left:4px}
.overview-category strong{display:block;font-size:20px;margin:10px 0;overflow-wrap:anywhere}
.overview-category .overview-link{font-size:10px;color:#657580;font-weight:400}
.overview-category.fuel{background:#fff9ed}.overview-category.parking{background:#eff9f7}.overview-category.toll{background:#f5f2fc}
.overview-filters{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.overview-filters button{min-height:36px;padding:7px 12px;border:1px solid #dce5e8;border-radius:18px;background:#fff;font-size:12px;cursor:pointer}
.overview-filters button[aria-pressed=true]{background:#087f82;color:#fff;border-color:#087f82}
.overview-recent{border:1px solid #dce5e8;border-radius:12px;overflow:hidden}
.overview-record{display:block;width:100%;padding:13px;text-align:left;background:#fff;border:0;border-bottom:1px solid #e7edef;color:#243841;cursor:pointer}
.overview-record:last-child{border-bottom:0}
.overview-record-head{display:flex;align-items:center;gap:8px;font-size:11px}
.overview-record-head strong{margin-left:auto;white-space:nowrap;font-size:13px}
.overview-record-head time{color:#657580}.overview-badge{padding:4px 6px;background:#edf3fa;border-radius:5px;white-space:nowrap}
.overview-badge.fuel{background:#fff1d6}.overview-badge.parking{background:#def4eb}.overview-badge.toll{background:#eee5fa}
.overview-title{display:block;margin-top:9px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.overview-place{display:block;margin-top:4px;font-size:11px;color:#657580;overflow-wrap:anywhere}
.overview-archive{margin-top:20px;font-size:12px;color:#52656f}.overview-archive>summary{cursor:pointer;padding:12px 0}
