*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #0a0e1a;--card: #131825;--card-hover: #181f30;--border: #1e2738;--border-hover: #2a3548;--text: #e8eaed;--text-dim: #8892a6;--text-faint: #5a6478;--blue: #3b82f6;--blue-bright: #60a5fa;--green: #22c55e;--green-dim: #16a34a;--orange: #f59e0b;--red: #ef4444;--purple: #a855f7;--radius: 16px;--radius-sm: 10px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}.app{max-width:960px;margin:0 auto;padding:16px 16px 60px}.header{display:flex;align-items:center;justify-content:space-between;padding:20px 0 16px;flex-wrap:wrap;gap:10px}.header-left h1{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--blue-bright),var(--purple));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-left .date{color:var(--text-faint);font-size:.82rem;margin-top:2px}.header-right{display:flex;gap:8px;align-items:center}.header-btn{background:var(--card);border:1px solid var(--border);color:var(--text-dim);padding:8px 14px;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;display:flex;align-items:center;gap:6px;transition:all .2s;white-space:nowrap}.header-btn:hover{border-color:var(--border-hover);color:var(--text)}.header-btn.active{border-color:var(--blue);color:var(--blue-bright);background:#3b82f61a}.view-toggle{display:flex;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.view-toggle button{background:transparent;border:none;color:var(--text-faint);padding:6px 14px;cursor:pointer;font-size:.82rem;font-weight:600;transition:all .2s}.view-toggle button:hover{color:var(--text-dim)}.view-toggle button.active{background:var(--blue);color:#fff}.hero{background:var(--card);border-radius:var(--radius);padding:24px;margin-bottom:16px;border:1px solid var(--border)}.hero-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap;gap:10px}.hero-label{font-size:.8rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:1.5px;font-weight:600}.hero-value{font-size:2.2rem;font-weight:800;line-height:1.1;margin-top:4px}.hero-sub{font-size:.85rem;color:var(--text-faint);margin-top:4px}.hero-badge{padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:600;white-space:nowrap}.hero-badge.good{background:#22c55e26;color:var(--green)}.hero-badge.warn{background:#f59e0b26;color:var(--orange)}.hero-badge.bad{background:#ef444426;color:var(--red)}.progress-bar{height:12px;background:var(--border);border-radius:6px;overflow:hidden;margin-top:12px;position:relative}.progress-fill{height:100%;border-radius:6px;transition:width .5s ease}.progress-fill.good{background:linear-gradient(90deg,var(--green-dim),var(--green))}.progress-fill.warn{background:linear-gradient(90deg,var(--orange),#fbbf24)}.progress-fill.bad{background:linear-gradient(90deg,var(--red),#f87171)}.pace-marker{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--text-dim);opacity:.5;border-radius:1px}.progress-labels{display:flex;justify-content:space-between;margin-top:8px;font-size:.78rem;color:var(--text-faint)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}.card{background:var(--card);border-radius:var(--radius);padding:16px;border:1px solid var(--border);transition:all .2s}.card:hover{background:var(--card-hover);border-color:var(--border-hover)}.card .label{font-size:.72rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:1px;font-weight:600;margin-bottom:6px}.card .value{font-size:1.35rem;font-weight:700;line-height:1.2}.card .sub{font-size:.75rem;color:var(--text-faint);margin-top:3px}.card .value.blue{color:var(--blue-bright)}.card .value.green{color:var(--green)}.card .value.orange{color:var(--orange)}.card .value.red{color:var(--red)}.card .value.purple{color:var(--purple)}.quick-add{background:var(--card);border-radius:var(--radius);padding:20px;margin-bottom:16px;border:1px solid var(--border)}.quick-add-title{font-size:.85rem;color:var(--text-dim);margin-bottom:12px;font-weight:600}.quick-add-form{display:flex;gap:10px;align-items:stretch}.quick-add-input{flex:1;padding:14px 18px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:1.1rem;font-weight:600;transition:border .2s;-moz-appearance:textfield}.quick-add-input::-webkit-outer-spin-button,.quick-add-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quick-add-input::placeholder{color:var(--text-faint);font-weight:400}.quick-add-input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #3b82f61a}.quick-add-btn{padding:14px 28px;background:linear-gradient(135deg,var(--blue),#2563eb);color:#fff;border:none;border-radius:var(--radius-sm);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;white-space:nowrap}.quick-add-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f64d}.quick-add-btn:active{transform:translateY(0)}.quick-add-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.section{background:var(--card);border-radius:var(--radius);padding:20px;margin-bottom:16px;border:1px solid var(--border)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:8px}.section-title{font-size:.95rem;font-weight:700;color:var(--text)}.section-subtitle{font-size:.78rem;color:var(--text-faint)}.chart-container{width:100%;overflow-x:auto;margin-top:4px}.table-wrap{overflow-x:auto}table.readings-table{width:100%;border-collapse:collapse;font-size:.88rem}table.readings-table th{text-align:left;padding:10px 12px;color:var(--text-faint);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid var(--border)}table.readings-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text)}table.readings-table tr:hover td{background:var(--card-hover)}table.readings-table .km-cell{font-weight:700;font-size:1rem}table.readings-table .delta-cell{font-weight:600}table.readings-table .delta-positive{color:var(--blue-bright)}table.readings-table .delta-negative{color:var(--red)}table.readings-table .delta-zero{color:var(--text-faint)}table.readings-table .action-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);padding:4px 8px;border-radius:6px;cursor:pointer;font-size:.8rem;margin-right:4px;transition:all .2s}table.readings-table .action-btn:hover{border-color:var(--blue);color:var(--blue-bright)}table.readings-table .action-btn.delete:hover{border-color:var(--red);color:var(--red)}table.readings-table .edit-input{width:90px;padding:6px 10px;background:var(--bg);border:1px solid var(--blue);border-radius:6px;color:var(--text);font-size:.88rem;font-weight:600}table.readings-table .edit-input:focus{outline:none;box-shadow:0 0 0 2px #3b82f633}table.readings-table .edit-input.date{width:150px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:var(--card);border-radius:var(--radius);padding:28px;width:100%;max-width:420px;border:1px solid var(--border)}.modal h2{font-size:1.2rem;margin-bottom:20px;color:var(--text)}.modal-field{margin-bottom:16px}.modal-field label{display:block;font-size:.82rem;color:var(--text-dim);margin-bottom:6px;font-weight:600}.modal-field input{width:100%;padding:12px 16px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-size:1rem;transition:border .2s}.modal-field input:focus{outline:none;border-color:var(--blue)}.modal-field .hint{font-size:.75rem;color:var(--text-faint);margin-top:4px}.modal-actions{display:flex;gap:10px;margin-top:20px}.modal-btn{flex:1;padding:12px 20px;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;border:none;transition:all .2s}.modal-btn.primary{background:linear-gradient(135deg,var(--blue),#2563eb);color:#fff}.modal-btn.primary:hover{box-shadow:0 4px 12px #3b82f64d}.modal-btn.secondary{background:var(--border);color:var(--text-dim)}.modal-btn.secondary:hover{background:var(--border-hover);color:var(--text)}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--card);border:1px solid var(--green);color:var(--green);padding:12px 24px;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600;z-index:200;animation:toast-in .3s ease,toast-out .3s ease 2.5s forwards}.toast.error{border-color:var(--red);color:var(--red)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toast-out{to{opacity:0;transform:translate(-50%) translateY(10px)}}.empty{text-align:center;color:var(--text-faint);padding:30px 20px;font-size:.9rem}.empty-icon{font-size:2rem;margin-bottom:8px;opacity:.5}@media (max-width: 600px){.app{padding:12px}.header-left h1{font-size:1.25rem}.hero-value{font-size:1.8rem}.card .value{font-size:1.15rem}.cards{grid-template-columns:repeat(2,1fr)}.quick-add-form{flex-direction:column}.quick-add-btn{width:100%}table.readings-table{font-size:.82rem}table.readings-table th,table.readings-table td{padding:8px 6px}}
