:root{--safe-area-inset-top: env(safe-area-inset-top, 0px);--safe-area-inset-right: env(safe-area-inset-right, 0px);--safe-area-inset-bottom: env(safe-area-inset-bottom, 0px);--safe-area-inset-left: env(safe-area-inset-left, 0px);color:#1a1a1a;background:#f5f5f5;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body{height:100%}body{margin:0;min-width:320px;overflow:hidden;background:#f5f5f5}#root{height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;isolation:isolate}@supports (height: 100dvh){@media not all and (display-mode:standalone){#root{height:100dvh}}}body.modal-open #root{overflow:hidden}button{color:inherit;font:inherit;touch-action:manipulation;-webkit-user-select:none;user-select:none}:where(*){-webkit-tap-highlight-color:transparent}.app-shell{min-height:100%}.dashboard{width:min(100%,520px);margin:0 auto;padding:calc(24px + var(--safe-area-inset-top)) calc(20px + var(--safe-area-inset-right)) calc(96px + var(--safe-area-inset-bottom)) calc(20px + var(--safe-area-inset-left))}.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.header h1{margin:0;font-size:24px;line-height:1.25}.avatar{display:grid;width:32px;height:32px;padding:0;place-items:center;border:0;border-radius:50%;color:#fff;background:#000;font-size:18px;font-weight:700;cursor:pointer}.avatar:disabled{cursor:default}.card{margin-bottom:20px;padding:20px;overflow:hidden;border-radius:15px;background:#fff;box-shadow:0 2px 8px #0000001a}.chart-card{--chart-accent: #00c805}.label,.metric,.change-row,.food-card h2,.date,.empty-state p{margin:0}.label{color:#666;font-size:16px}.metric{margin:5px 0;font-size:28px;font-weight:700}.change-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:#666;font-size:14px}.change-row strong{font-weight:500}.change-row .change-good{color:#15803d}.change-row .change-bad{color:#dc2626}.change-row .change-neutral{color:#666}.chart{display:block;width:calc(100% + 40px);height:210px;margin:4px -20px 8px;color:var(--chart-accent)}.chart-empty{fill:#666;font-size:14px}.page-status{margin:0;padding:48px 20px;color:#666;text-align:center}.auth-page{display:grid;min-height:100%;padding:calc(20px + var(--safe-area-inset-top)) calc(20px + var(--safe-area-inset-right)) calc(20px + var(--safe-area-inset-bottom)) calc(20px + var(--safe-area-inset-left));place-items:center}.auth-card{width:min(100%,420px);margin:0}.auth-card h1{margin:0 0 8px;font-size:24px}.auth-card>p{margin:0 0 24px;color:#666}.auth-card label{display:grid;gap:8px;font-weight:500}.auth-card input{width:100%;padding:12px;border:1px solid #ccc;border-radius:8px;font:inherit}.primary-button{width:100%;margin-top:18px;padding:12px 16px;border:0;border-radius:8px;color:#fff;background:#1a1a1a;cursor:pointer;font-weight:600}.primary-button:disabled{cursor:wait;opacity:.65}.secondary-button{width:100%;padding:12px 16px;border:1px solid #ccc;border-radius:8px;background:#fff;cursor:pointer;font-weight:600}.secondary-button:disabled{cursor:wait;opacity:.65}.form-error{color:#b91c1c!important}.timeframes{display:flex;gap:2px;padding-bottom:4px;overflow-x:auto;scrollbar-width:none}.timeframes::-webkit-scrollbar{display:none}.timeframes button{flex:0 0 auto;padding:6px 12px;border:0;border-radius:20px;color:#666;background:transparent;cursor:pointer;white-space:nowrap}.timeframes button.active{color:#000;background:#f0f0f0;font-weight:500}.text-link{margin-top:16px;padding:0;border:0;color:#666;background:transparent;text-decoration:underline;cursor:pointer}.food-card h2{font-size:20px;font-weight:600}.date{margin-top:4px;margin-bottom:16px;color:#666;font-size:14px}.nutrition-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.nutrition-item{display:flex;min-width:0;padding:16px;flex-direction:column;align-items:center;border-radius:8px;background:#f5f5f5}.nutrition-item strong{font-size:24px}.nutrition-item span{margin-top:4px;color:#666;font-size:12px}.empty-state{padding:24px 0;text-align:center}.empty-state p{margin-bottom:8px;color:#666;font-size:16px}.empty-state span{color:#666;font-size:14px}.entries-card{min-height:68px}.entries-card .text-link{margin-top:0}.modal-overlay{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:flex;justify-content:center;align-items:flex-end;padding-top:calc(40px + var(--safe-area-inset-top));background:#0000007f}.entry-sheet{width:min(100%,520px);max-height:100%;padding:24px 24px calc(24px + var(--safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;border-radius:18px 18px 0 0;background:#fff;box-shadow:0 -4px 24px #0000002e}.drawer-backdrop{--backdrop-opacity: .5;position:fixed;z-index:20;min-height:100vh;min-height:100dvh;top:0;right:0;bottom:0;left:0;background:#000;opacity:calc(var(--backdrop-opacity) * (1 - var(--drawer-swipe-progress)));transition:opacity .45s cubic-bezier(.32,.72,0,1)}@supports (-webkit-touch-callout: none){.drawer-backdrop{position:absolute}}.drawer-backdrop[data-starting-style],.drawer-backdrop[data-ending-style]{opacity:0}.drawer-viewport{position:fixed;z-index:21;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;touch-action:none}.drawer-popup{position:relative;display:flex;flex-direction:column;width:min(100%,520px);height:min(560px,calc(100% - 16px - var(--safe-area-inset-top)));max-height:calc(100% - 16px - var(--safe-area-inset-top));overflow:hidden;border-radius:18px 18px 0 0;outline:0;background:#fff;box-shadow:0 -4px 24px #0000002e;touch-action:none;transform:translateY(var(--drawer-swipe-movement-y));transition:transform .45s cubic-bezier(.32,.72,0,1);will-change:transform}.drawer-popup[data-starting-style],.drawer-popup[data-ending-style]{transform:translateY(100%)}.drawer-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:24px 24px 16px;touch-action:none}.drawer-title{margin:0;font-size:24px;font-weight:600}.drawer-scroll{flex:1 1 auto;min-height:0;padding:0 24px calc(24px + var(--safe-area-inset-bottom));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:auto}.drawer-description{margin:0 0 18px;color:#666}.mile-entry-form{display:grid;min-width:0;gap:18px}.mile-entry-form label{display:grid;min-width:0;gap:8px;font-weight:500}.optional-label{color:#777;font-size:13px;font-weight:400}.mile-entry-form input,.mile-entry-form textarea{min-width:0;max-width:100%;width:100%;padding:14px;border:1px solid #ccc;border-radius:8px;font:inherit}.mile-entry-form input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.mile-entry-form input[type=date]::-webkit-datetime-edit{min-width:0;max-width:100%}.mile-entry-form textarea{min-height:96px;resize:vertical}.mile-entry-form .form-error,.mile-entry-form .primary-button{margin:0}.sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.sheet-header h2{margin:0;font-size:24px;font-weight:600}.close-button{width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;font-size:30px;font-weight:300;line-height:1}.close-button:hover{background:transparent}@media(hover:hover){.close-button:hover{background:#f0f0f0}}.sheet-timeframes{margin-bottom:16px}.sort-controls{display:grid;gap:12px;margin-bottom:16px}.sort-controls>div{display:grid;gap:8px}.sort-controls strong{font-size:14px}.pill-group{display:flex;gap:8px;overflow-x:auto}.pill-group button{flex:0 0 auto;padding:6px 12px;border:0;border-radius:20px;color:#666;background:transparent;cursor:pointer}.pill-group button.active{color:#000;background:#f0f0f0;font-weight:500}.table-card{padding:20px;border-radius:15px;box-shadow:0 2px 8px #0000001a}.table-card h3{margin:0 0 15px;font-size:18px}.entry-table-wrap{overflow-x:auto;max-width:100%}.entry-table{width:100%;border-collapse:collapse;text-align:left}.entry-table th,.entry-table td{padding:12px 10px;border-bottom:1px solid #eee;white-space:nowrap;vertical-align:top}.entry-table th:first-child,.entry-table td:first-child{padding-left:0}.entry-table th:last-child,.entry-table td:last-child{padding-right:0;text-align:right}.entry-table th{font-size:14px;font-weight:600}.entry-table td{color:#333;font-size:16px}.mile-entry-list{width:100%;max-width:100%}.mile-entry-row{display:grid;grid-template-columns:minmax(0,1fr) 5rem;column-gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid #eee;color:#333;font-size:16px}.mile-entry-header{padding-top:10px;padding-bottom:10px;font-size:14px;font-weight:600}.mile-entry-main{min-width:0}.mile-entry-time{justify-self:end;white-space:nowrap;font-variant-numeric:tabular-nums}.entry-date{display:block}.entry-note-wrap{max-width:100%}.entry-note{display:block;margin-top:4px;font-size:12px;color:#333;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.entry-note--clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}.entry-note-toggle{display:inline-flex;align-items:center;margin-top:4px;padding:2px 0;border:0;background:transparent;font:inherit;font-size:12px;line-height:1.3;font-weight:600;color:#555;cursor:pointer;min-height:1.5em}.entry-table small{display:block;margin-top:4px;font-size:12px}.table-empty{margin:20px 0 4px;color:#666;text-align:center}.backdrop{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:#0000007f}.fab-group{position:fixed;z-index:11;right:max(calc(20px + var(--safe-area-inset-right)),calc((100vw - 520px)/2 + 20px));bottom:calc(20px + var(--safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:12px}.fab-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.fab-actions button{padding:11px 16px;border:0;border-radius:28px;background:#fff;box-shadow:0 2px 8px #00000024;cursor:pointer;font-weight:500}.fab{width:56px;height:56px;padding:0 0 4px;border:0;border-radius:50%;color:#fff;background:#1a1a1a;box-shadow:0 4px 12px #0000004d;cursor:pointer;font-size:34px;font-weight:300;line-height:1;transition:transform .18s ease}.fab.open{transform:rotate(45deg)}button:focus-visible{outline:3px solid #9cab55;outline-offset:3px}@media(max-width:380px){.dashboard{padding-inline:14px}.card{padding:18px}.chart{width:calc(100% + 36px);margin-inline:-18px}.fab-group{right:14px}}
