@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Work+Sans:wght@400;500;600&display=swap";:root{--bg: #0b0d12;--bg-alt: #111525;--panel: #141a28;--panel-strong: #1b2233;--surface: #101521;--text: #f3f6ff;--muted: #9aa4c7;--accent: #5dd6c2;--accent-strong: #3ba6ff;--danger: #ff6b6b;--outline: rgba(255, 255, 255, .08);--glow: 0 20px 60px rgba(12, 18, 34, .35);--radius: 18px}*{box-sizing:border-box}body{margin:0;font-family:Work Sans,sans-serif;background:radial-gradient(circle at top,#172036 0%,var(--bg) 65%) fixed;color:var(--text);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 20%,rgba(93,214,194,.08),transparent 55%),radial-gradient(circle at 80% 10%,rgba(59,166,255,.07),transparent 55%),radial-gradient(circle at 50% 80%,rgba(251,159,93,.05),transparent 55%);pointer-events:none;z-index:-1}h1,h2,h3,h4,h5{font-family:Space Grotesk,sans-serif;margin:0 0 .4rem}a{color:inherit;text-decoration:none}button{border:none;background:transparent;color:inherit;font-family:inherit;cursor:pointer}input,textarea,select{width:100%;padding:.65rem .75rem;border-radius:12px;border:1px solid var(--outline);background:var(--surface);color:var(--text);font-family:inherit}textarea{resize:vertical}.app-shell{min-height:100vh;display:flex;flex-direction:column}.update-banner{display:flex;align-items:center;gap:.75rem;padding:.5rem 2.4rem;background:#5dd6c21f;border-bottom:1px solid rgba(93,214,194,.35);font-size:.875rem;color:var(--text)}.update-banner .material-symbols-rounded{font-size:1.1rem;color:var(--accent);flex-shrink:0}.update-banner .primary.mini{margin-left:auto;flex-shrink:0}.top-bar{display:flex;justify-content:space-between;align-items:center;padding:1.2rem 2.4rem;border-bottom:1px solid var(--outline);background:#0c101acc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:sticky;top:0;z-index:10}.brand{display:flex;gap:.8rem;align-items:center}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent-strong));box-shadow:0 10px 30px #5dd6c240;display:inline-flex;align-items:center;justify-content:center;color:#041117}.brand-mark .material-symbols-rounded{font-size:1.4rem;line-height:1}.brand-title{font-size:1.2rem;font-weight:600;margin:0}.brand-sub{margin:0;color:var(--muted);font-size:.9rem}.context-indicator{display:flex;flex-direction:column;gap:.3rem}.context-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.context-chips{display:flex;flex-wrap:wrap;gap:.3rem}.top-actions{display:flex;align-items:center;gap:.8rem}.nav-link{padding:.4rem .8rem;border-radius:999px;border:1px solid transparent;color:var(--muted)}.nav-link.active{border-color:var(--accent);color:var(--text);background:#5dd6c214}.user-pill{display:flex;flex-direction:column;gap:.1rem;padding:.35rem .7rem;border-radius:10px;border:1px solid var(--outline);background:#10152199}.user-email{font-size:.8rem;font-weight:500;line-height:1.1}.user-role{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.shell-content{flex:1;padding:1rem 2.4rem}.page{display:flex;flex-direction:column;gap:1.5rem}.page.entries-page{max-width:1280px;margin:0 auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.date-control{display:flex;align-items:center;gap:.6rem}.context-row{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem}.context-label{font-weight:600}.context-list{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.context-note{color:var(--muted);font-size:.85rem}.chip{border-radius:999px;padding:.35rem .8rem;border:1px solid var(--outline);background:transparent;display:inline-flex;gap:.4rem;align-items:center}.chip.active{background:#5dd6c226;border-color:var(--accent)}.chip.mini{font-size:.75rem;padding:.2rem .6rem}.dot{width:8px;height:8px;border-radius:50%}.primary{background:var(--accent);color:#041117;padding:.55rem 1rem;border-radius:10px;font-weight:600;box-shadow:none}.primary.mini{padding:.3rem .6rem;border-radius:8px;font-size:.75rem}.primary-link{display:inline-flex;align-items:center;justify-content:center;padding:.6rem 1.2rem;border-radius:12px;background:var(--accent);color:#041117;font-weight:600}.ghost{border:1px solid var(--outline);padding:.5rem .9rem;border-radius:10px;color:var(--text);background:transparent}.ghost.mini{padding:.3rem .6rem;font-size:.75rem}.danger{background:#ff6b6b1f;color:#ff9b9b;padding:.4rem .8rem;border-radius:10px;border:1px solid rgba(255,107,107,.28)}.alert{padding:1rem;border-radius:12px;background:#ff6b6b26;border:1px solid rgba(255,107,107,.4)}.entry-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.entry-type-card{background:var(--panel);border-radius:14px;border:1px solid var(--outline);box-shadow:none}.entry-type-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.8rem 1rem;border-bottom:1px solid var(--outline)}.type-description{color:var(--muted);margin:.2rem 0 0;font-size:.85rem}.type-metrics{text-align:right;color:var(--muted);display:flex;flex-direction:column;gap:.2rem;font-size:.9rem}.type-metrics .totals span{display:block;font-size:.8rem}.quick-add{display:flex;align-items:center;gap:.8rem}.quick-add .hint{color:var(--muted);font-size:.8rem}.entry-list{display:flex;flex-direction:column;gap:0}.freeze-toggle{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;padding:0;border-radius:10px;border:1px solid var(--outline);background:transparent;color:var(--muted)}.freeze-toggle .material-symbols-rounded{font-size:1.1rem}.freeze-toggle.active{background:#5dd6c226;border-color:var(--accent);color:var(--text)}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:2.1rem;height:2.1rem;padding:0;border-radius:10px;border:1px solid var(--outline);background:transparent;color:var(--muted);text-decoration:none;cursor:pointer;transition:all .2s ease}.icon-button .material-symbols-rounded{font-size:1.1rem}.icon-button:hover{background:var(--surface-hover);color:var(--text)}.icon-button.active{background:#5dd6c226;border-color:var(--accent);color:var(--text)}.entry-types-list.entries-frozen{opacity:.7}.entry-types-list.entries-frozen button,.entry-types-list.entries-frozen input,.entry-types-list.entries-frozen textarea,.entry-types-list.entries-frozen select,.entry-types-list.entries-frozen .chip,.entry-types-list.entries-frozen .rating{pointer-events:none}.entry-item{background:transparent;border-radius:0;padding:.8rem 0;border:none;border-bottom:1px solid var(--outline)}.entry-item:last-child{border-bottom:none}.entry-actions{display:flex;gap:.4rem;justify-content:flex-end}.entry-display{display:flex;flex-direction:column;gap:.6rem}.entry-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;flex:1}.entry-meta{color:var(--muted);font-size:.85rem}.entry-content,.entry-sections,.entry-calcs,.entry-extras{display:flex;flex-direction:column;gap:.4rem}.entry-content .field,.entry-sections .section-item,.entry-calcs span,.entry-extras span{display:flex;justify-content:space-between;gap:.8rem;font-size:.85rem}.entry-warning{color:#ffb26b;font-size:.8rem}.entry-form{display:flex;flex-direction:column;gap:1rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.8rem}.form-row{display:flex;flex-direction:column;gap:.4rem}.color-row{display:flex;align-items:center;gap:.6rem}.color-row input[type=text]{flex:1}.color-input{width:2.4rem;height:2.4rem;padding:0;border-radius:8px;border:1px solid var(--outline);background:var(--surface);cursor:pointer}.form-actions{display:flex;justify-content:flex-end;gap:.8rem}.split-info{padding:.6rem;background:var(--surface);border-radius:8px;font-size:.85rem;color:var(--text-muted)}.split-info p{margin:0}.split-preview{display:flex;flex-direction:column;gap:.5rem;padding:.8rem;background:var(--surface);border-radius:8px;font-size:.85rem}.split-preview-entry{display:flex;gap:.5rem;align-items:center}.split-label{font-weight:500;min-width:50px}.rating-row{display:flex;gap:.4rem}.rating{padding:.3rem .6rem;border-radius:10px;border:1px solid var(--outline)}.rating.active{background:var(--accent);color:#041117}.calc-preview{display:flex;gap:.8rem;flex-wrap:wrap}.calc{padding:.4rem .8rem;border-radius:999px;background:#3ba6ff1f;border:1px solid rgba(59,166,255,.4);font-size:.8rem}.sections{display:flex;flex-direction:column;gap:1rem}.section{border:1px solid var(--outline);border-radius:14px;padding:1rem;background:var(--surface)}.section-items{display:flex;flex-direction:column;gap:1rem}.section-item{border:1px dashed var(--outline);border-radius:12px;padding:.8rem}.item-header{display:flex;justify-content:space-between;align-items:center}.item-actions{display:flex;gap:.5rem;align-items:center}.food-item-list .list-item{justify-content:flex-start}.food-item-list .item-info{align-items:flex-start}.food-item-list .item-actions{margin-left:auto}.timer{display:flex;gap:.5rem;margin-top:.5rem}.custom-fields{display:flex;flex-direction:column;gap:.8rem;border:1px solid var(--outline);border-radius:14px;padding:1rem;background:var(--surface)}.custom-field{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem}.week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.week-day{background:var(--panel);border-radius:16px;border:1px solid var(--outline);padding:1rem}.week-day.weekend{background:#5dd6c20a;border-color:#5dd6c21a}.day-head{width:100%;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:.6rem;font-weight:600;padding-bottom:.6rem;border-bottom:1px solid var(--outline)}.day-body{display:flex;flex-direction:column;gap:.6rem;margin-top:.6rem}.day-type-header{display:flex;justify-content:space-between;font-size:.85rem}.day-type-totals span{display:block;color:var(--muted);font-size:.75rem}.month-grid{display:flex;flex-direction:column;gap:1rem}.month-head{font-weight:600;font-size:1.1rem}.month-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.6rem}.month-cell{border-radius:14px;background:var(--panel-strong);min-height:100px;border:1px solid var(--outline);padding:.6rem}.month-cell.empty{background:transparent;border-color:transparent}.month-cell.weekend{background:#5dd6c20a;border-color:#5dd6c21a}.month-cell button{width:100%;text-align:left;display:flex;flex-direction:column;gap:.4rem}.month-cell .date{font-weight:600}.month-cell .count{color:var(--muted);font-size:.8rem}.chips{display:flex;flex-wrap:wrap;gap:.3rem}.toast-stack{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:.6rem}.toast{background:var(--panel-strong);border:1px solid var(--outline);padding:.4rem .7rem;border-radius:10px;display:flex;gap:.8rem;align-items:center;font-size:.85rem;line-height:1.2;min-height:28px}.toast.create{background:#2ecc711f;border-color:#2ecc7159;color:#c8f6da}.toast.update{background:#3ba6ff1f;border-color:#3ba6ff59;color:#d4ecff}.toast.delete{background:#ff6b6b1f;border-color:#ff6b6b59;color:#ffd1d1}.mobile-nav{position:fixed;left:0;right:0;bottom:0;display:none;align-items:center;justify-content:space-around;gap:.4rem;padding:.4rem .6rem;padding-bottom:calc(.4rem + env(safe-area-inset-bottom));background:#0c101af2;border-top:1px solid var(--outline);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:15}.mobile-nav-link{flex:1;display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.35rem 0;border-radius:12px;color:var(--muted);text-decoration:none;transition:all .2s ease}.mobile-nav-link .material-symbols-rounded{font-size:1.2rem}.mobile-nav-link .label{font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}.mobile-nav-link.active{color:var(--text);background:#5dd6c21f;border:1px solid rgba(93,214,194,.35)}.dialog-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;z-index:20}.dialog-card{background:var(--panel);padding:1.5rem;border-radius:16px;border:1px solid var(--outline);max-width:320px}.dialog-card.dialog-form{width:min(640px,92vw);max-width:640px;max-height:85vh;overflow:hidden}.dialog-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.dialog-body{max-height:70vh;overflow:auto;display:flex;flex-direction:column;gap:1rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.auth-shell{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2.5rem 1.5rem}.auth-card{width:min(420px,100%);background:linear-gradient(180deg,#19233afa,#121a2cf5);border-radius:18px;padding:2.2rem;border:1px solid rgba(255,255,255,.06);box-shadow:0 24px 70px #09101f73;display:flex;flex-direction:column;gap:1rem;text-align:center}.auth-card .subtitle{color:var(--muted);margin:0}.auth-card h2{margin:0;font-size:1.2rem}.auth-card h1{margin:0;font-size:1.7rem}.auth-form{display:flex;flex-direction:column;gap:.9rem;text-align:left}.auth-form label{font-size:.85rem;font-weight:600;color:var(--text)}.auth-input-wrap{position:relative;display:flex;align-items:center;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:#0a101e99}.auth-input-wrap input{border:none;background:transparent;padding:.7rem 2.6rem .7rem .9rem}.auth-input-wrap input:focus{outline:none}.auth-input-icon{position:absolute;right:.8rem;font-size:1.1rem;color:var(--muted);pointer-events:none}.auth-primary{width:100%;padding:.75rem 1rem;border-radius:12px;font-weight:600;color:#05151a;background:linear-gradient(90deg,#08c0ff,#2d7bff);box-shadow:0 14px 30px #0e6cff59}.auth-primary:disabled{opacity:.6;cursor:not-allowed}.auth-divider{height:1px;width:100%;background:#ffffff14;margin-top:.6rem}.auth-footer{margin:0;font-size:.72rem;color:var(--muted)}.auth-footer span{color:#c6d3ff}.auth-icon{width:64px;height:64px;margin:0 auto;border-radius:999px;background:#5dd6c22e;display:inline-flex;align-items:center;justify-content:center;color:var(--accent)}.auth-icon .material-symbols-rounded{font-size:1.8rem}.auth-actions{justify-content:center;margin-left:0}.muted{color:var(--muted);margin:0}.status{color:var(--accent);text-align:center}.error{color:var(--danger);text-align:center}.settings-section{background:var(--panel);border-radius:var(--radius);padding:1.2rem;border:1px solid var(--outline)}.settings-section h2{font-size:1.1rem;margin:0 0 .8rem}.section-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.section-header h2{margin:0}.list-items{display:flex;flex-direction:column;gap:0}.list-items .list-item{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem 0;border-bottom:1px solid var(--outline)}.list-items .list-item:last-child{border-bottom:none}.list-items .list-item.dragging{opacity:.55}.list-items .list-item.drag-over{border-color:#5dd6c266;background:#5dd6c214}.list-items .list-item .drag-handle{cursor:grab}.list-items .list-item .drag-handle:active{cursor:grabbing}.item-info{display:flex;flex-direction:column;gap:.2rem;min-width:0}.item-name{font-weight:500;display:flex;align-items:center;gap:.5rem}.item-meta{font-size:.8rem;color:var(--muted)}.badge{font-size:.7rem;padding:.15rem .5rem;border-radius:999px;background:#5dd6c233;color:var(--accent);font-weight:500}.badge.inactive{background:#ffffff14;color:var(--muted);border:1px solid var(--outline)}.empty-message{color:var(--muted);font-size:.9rem;padding:.5rem 0}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.85rem;font-weight:500}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .9rem;border-radius:10px;font-weight:500;cursor:pointer;border:1px solid transparent;transition:all .2s}.btn-primary{background:var(--accent);color:#041117}.btn-primary:hover{background:var(--accent-strong)}.btn-ghost{background:transparent;border-color:var(--outline);color:var(--text)}.btn-ghost:hover{background:#ffffff0d}.btn-danger{background:#ff6b6b1f;color:#ff9b9b;border-color:#ff6b6b47}.btn-danger:hover{background:#ff6b6b33}.btn-sm{padding:.3rem .6rem;font-size:.8rem}.input{width:100%;padding:.65rem .75rem;border-radius:10px;border:1px solid var(--outline);background:var(--surface);color:var(--text);font-family:inherit}.settings-page .settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.panel{background:var(--panel);border-radius:var(--radius);padding:1.4rem;border:1px solid var(--outline);display:flex;flex-direction:column;gap:1rem}.settings-page .panel{padding:1rem;gap:.8rem}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.panel-total{display:flex;flex-direction:column;gap:.2rem;align-items:flex-end}.panel-total .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.panel-total .value{font-size:1.4rem;font-weight:600}.entry-types-list{display:flex;flex-direction:column;gap:.8rem}.category-section-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end;gap:.75rem 2rem;padding:.75rem 1rem;background:var(--panel);border-radius:12px;border:1px solid var(--outline)}.header-timeline{width:100%;order:-1}.header-timeline-track{position:relative;width:100%;height:6px;background:#ffffff0d;border-radius:3px;overflow:hidden}.header-timeline-bar{position:absolute;top:0;height:100%;border-radius:2px;opacity:.85;cursor:pointer}.header-timeline-bar:hover{opacity:1}.header-timeline-bar.running{animation:timeline-pulse 1.5s ease-in-out infinite}.category-section-header .section-group{display:flex;flex-direction:column;gap:.35rem;align-items:flex-end;text-align:right}.category-section-header .section-group-header{display:flex;align-items:baseline;gap:.5rem}.category-section-header .section-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);min-width:2.5rem}.category-section-header .section-total{font-size:1rem;font-weight:600;color:var(--text)}.category-section-header .section-cost{font-size:.85rem;color:var(--accent)}.category-section-header .section-cost:before{content:"\b7";margin:0 .35rem;color:var(--muted)}.category-section-header .section-breakdown{display:flex;flex-wrap:wrap;gap:.15rem .6rem;justify-content:flex-end}.category-section-header .breakdown-item{display:inline-flex;align-items:baseline;gap:.25rem;font-size:.75rem}.category-section-header .breakdown-name{color:var(--muted)}.category-section-header .breakdown-name:after{content:":"}.category-section-header .breakdown-value{font-weight:500;color:var(--text)}.category-section-header .breakdown-cost{color:var(--muted)}.category-section-header .breakdown-cost:before{content:"/";margin:0 .1rem}.category-section-header .active-timer{margin-right:auto;padding-right:1rem;border-right:1px solid var(--outline);align-items:flex-start;align-self:center;text-align:left;cursor:pointer}.category-section-header .active-timer:hover{opacity:.8}.category-section-header .active-timer .section-group-header{gap:.5rem}.category-section-header .timer-tracking{font-size:.8rem;color:var(--muted)}.category-section-header .timer-pulse{width:8px;height:8px;border-radius:50%;background:var(--danger);animation:pulse 1.5s ease-in-out infinite}.category-section-header .timer-elapsed{color:var(--danger);font-variant-numeric:tabular-nums}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.entry-type-card{background:var(--panel);border-radius:14px;border:1px solid var(--outline);overflow:hidden;box-shadow:none}.entry-type-card.highlight-blink{animation:highlight-blink .5s ease-in-out 3}@keyframes highlight-blink{0%,to{border-color:var(--outline);box-shadow:none}50%{border-color:var(--accent);box-shadow:0 0 12px #5dd6c24d}}.entry-type-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1rem;border-bottom:1px solid var(--outline)}.entry-type-card.content-empty .entry-type-header,.entry-type-card.metric-inline .entry-type-header{border-bottom:none}.entry-type-card.metric-inline .entry-type-content{display:none}.entry-type-title{display:flex;flex-direction:column;gap:.2rem;min-width:0}.entry-type-title-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.entry-type-title-row .timer-pulse{width:10px;height:10px;border-radius:50%;background:var(--danger);animation:pulse 1.5s ease-in-out infinite;flex-shrink:0}.entry-type-right{display:flex;align-items:center;gap:.8rem}.metric-quick{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.metric-actions{display:flex;align-items:center}.metric-quick .rating-row{gap:.3rem}.metric-quick .rating{padding:.25rem .5rem}.entry-type-header h3{font-size:1rem;margin:0}.entry-type-header .chips{margin-top:.3rem}.time-actions{display:flex;align-items:center;gap:.6rem}.icon-button{width:2.2rem;height:2.2rem;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}.icon-button .material-symbols-rounded{font-size:1.2rem;line-height:1}.icon-only{width:1.9rem;height:1.9rem;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}.icon-only .material-symbols-rounded{font-size:1.05rem;line-height:1}.time-actions>.ghost{white-space:nowrap;min-width:5.5rem}.time-actions>.ghost.icon-button{min-width:2.2rem}.timer-actions{position:relative;width:2.2rem;height:2.2rem}.timer-actions button{position:absolute;top:0;left:0;width:2.2rem;height:2.2rem;flex-shrink:0}.food-actions{display:flex}.food-actions button{white-space:nowrap;min-width:5.5rem}.food-actions .icon-button{min-width:2.2rem}.entry-type-content{padding:.2rem 1rem .1rem;display:flex;flex-direction:column;gap:.6rem}.empty-state{text-align:center;padding:3rem 1.5rem;background:var(--panel);border-radius:var(--radius);border:1px solid var(--outline)}.empty-state p{margin:.5rem 0}.empty-state a{color:var(--accent);text-decoration:underline}.empty-state a:hover{color:var(--accent-strong)}.tracker-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-areas:"food work" "food metrics";gap:1.5rem}.food-panel{grid-area:food}.work-panel{grid-area:work}.metrics-panel{grid-area:metrics}.food-form textarea,.work-panel textarea{min-height:80px}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.reuse-list{display:flex;flex-direction:column;gap:.6rem;border-top:1px solid var(--outline);padding-top:.8rem}.reuse-item{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.entry-row{display:flex;justify-content:space-between;gap:1rem;align-items:center}.photo-strip{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.8rem}.photo-strip img{width:90px;height:70px;object-fit:cover;border-radius:10px;border:1px solid var(--outline)}.file-pill{position:relative;overflow:hidden}.file-pill input{position:absolute;inset:0;opacity:0;cursor:pointer}input[type=file],input[type=file]::file-selector-button,input[type=file]::-webkit-file-upload-button{cursor:pointer}.food-item-content{display:flex;align-items:center;gap:1rem}.food-item-text{display:flex;flex-direction:column;gap:.2rem;min-width:0}.food-main-row{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap}.food-main-row .entry-meta{margin:0}.food-item-image{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid var(--outline)}.food-item-image-button{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;width:44px;height:44px;position:relative}.food-item-image-button,.food-item-image-button *{cursor:pointer}.food-item-image-button input{z-index:2;position:absolute;inset:0;width:100%;height:100%;padding:0;margin:0;border:0;opacity:0;font-size:0;color:transparent;background:transparent}.food-item-image-button input[type=file]::file-selector-button,.food-item-image-button input[type=file]::-webkit-file-upload-button{opacity:0;width:0;height:0;padding:0;margin:0;border:0}.food-item-image-button:hover .food-item-image,.food-item-image-button:hover .food-item-placeholder{border-color:#5dd6c280;box-shadow:0 0 0 1px #5dd6c240}.food-item-placeholder{width:44px;height:44px;border-radius:8px;border:1px solid var(--outline);background:var(--surface);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;text-transform:uppercase}.food-item-description{white-space:pre-line}.project-list{display:flex;flex-direction:column;gap:1rem}.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}.metric-card{background:var(--panel-strong);border-radius:16px;padding:1rem;border:1px solid var(--outline);display:flex;flex-direction:column;gap:.8rem}.metric-input{display:flex;flex-direction:column;gap:.6rem}.metric-list{display:flex;flex-direction:column;gap:0}.metric-entry{display:flex;justify-content:space-between;align-items:center;gap:.8rem;border-bottom:1px solid var(--outline);padding:.6rem 0}.metric-entry:last-child{border-bottom:none}.project-block{border:1px solid var(--outline);border-radius:14px;padding:1rem;background:var(--surface);display:flex;flex-direction:column;gap:.8rem}.project-head{display:flex;justify-content:space-between;align-items:center;gap:.8rem}.time-list{display:flex;flex-direction:column;gap:0}.time-entry{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--outline);padding:.75rem 0;align-items:center}.time-entry:last-child{border-bottom:none}.time-entry-main{display:flex;gap:.8rem;align-items:center;flex:1}.time-entry-icon{width:44px;height:44px;border-radius:8px;border:1px solid var(--outline);background:var(--surface);color:var(--muted);display:flex;align-items:center;justify-content:center;flex-shrink:0}.time-entry-icon svg{width:20px;height:20px}.time-entry-stop{width:100%;height:100%;border:none;border-radius:8px;background:#ff6b6b40;color:#ffd1d1;font-size:.9rem;display:flex;align-items:center;justify-content:center}.time-entry-stop:hover{background:#ff6b6b59}.time-entry-body{display:flex;flex-direction:column;gap:.2rem;min-width:0}.time-main-row{display:flex;align-items:center;gap:.4rem}.time-range-box{display:inline-flex;align-items:center;border:1px solid var(--outline);border-radius:8px;background:var(--surface);overflow:hidden;font-weight:600;font-size:1.05rem;font-variant-numeric:tabular-nums}.time-input{padding:.25rem .55rem;min-width:4.2rem;width:4.4rem;text-align:center;border:none;background:transparent;color:var(--text);font:inherit;appearance:none}.time-input:focus{outline:none}.time-divider{width:1px;height:1.2rem;background:var(--outline)}.time-details{display:flex;flex-direction:column;gap:.2rem}.time-tracking-input{border:none;background:transparent;color:var(--muted);font-size:.85rem;padding:0;min-width:6rem;width:7.5rem;flex:0 1 auto}.time-tracking-input:focus{outline:none}.time-tracking-input::placeholder{color:var(--muted);opacity:.6}.time-edit{display:flex;flex-direction:column;gap:.6rem}.time-entry-metrics{margin-left:auto;display:flex;align-items:center;gap:.45rem;text-align:right;color:var(--muted);font-size:.9rem;white-space:nowrap}.time-entry-metrics .duration-short{display:none}.time-entry-actions{margin-left:.1rem}.metric-row{display:flex;flex-direction:column;gap:.4rem}.summary-row{display:flex;justify-content:space-between;font-size:.85rem}.danger.mini{padding:.25rem .5rem;font-size:.7rem;border-radius:8px}.stack{display:flex;flex-direction:column;gap:.6rem}.list{display:flex;flex-direction:column;gap:1rem}.list-item{border:1px solid var(--outline);border-radius:12px;padding:.8rem;background:var(--surface)}.list-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.sub{color:var(--muted);font-size:.8rem}.sub.warning{color:var(--danger)}.actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-left:auto;justify-content:flex-end}.settings-page .list{gap:0;border-top:1px solid var(--outline)}.settings-page .list-item{border-bottom:1px solid var(--outline);border-radius:0;padding:.6rem 0;background:transparent;border-left:none;border-right:none;border-top:none}.settings-page .list-item:last-child{border-bottom:none}.settings-page .actions{gap:.35rem}.settings-page .list .sub{display:block}.settings-page .list-controls{display:flex;align-items:center;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.settings-page .list-controls input[type=search]{max-width:220px;min-width:160px}.settings-page .pagination{display:inline-flex;align-items:center;gap:.35rem}.template-row{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;color:var(--muted)}.status.success{color:var(--accent)}.account-panel{margin-top:1rem}.account-info{margin-bottom:.5rem}.account-actions{display:flex;gap:.6rem}.account-actions button{display:inline-flex;align-items:center;gap:.5rem}.account-actions .material-symbols-rounded{font-size:1.1rem}.sessions-section{border-top:1px solid var(--outline);padding-top:1rem;margin-top:.5rem}.sessions-section h4{margin:0;font-size:.9rem}.session-list{display:flex;flex-direction:column;gap:0;margin-top:.5rem}.session-item{display:flex;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem 0;border-bottom:1px solid var(--outline)}.session-item:last-child{border-bottom:none}.session-info{display:flex;flex-direction:column;gap:.2rem}.session-date{font-size:.85rem}.session-actions{display:flex;align-items:center;gap:.5rem}@media (max-width: 900px){.top-bar{flex-wrap:wrap;gap:.5rem}.top-actions{flex-wrap:wrap}.tracker-grid{grid-template-columns:1fr;grid-template-areas:"food" "work" "metrics"}}@media (max-width: 768px){.top-bar{flex-direction:row;align-items:center;justify-content:space-between;padding:.35rem .6rem;gap:.4rem;min-height:unset}.top-bar>*{width:auto}.brand-sub,.brand-mark{display:none}.brand{gap:0;padding:.2rem 0;flex-shrink:0}.brand-title{font-size:.9rem;font-weight:500}.context-indicator{display:none}.top-actions{gap:.3rem;justify-content:flex-end;flex-shrink:0}.top-actions .icon-button,.top-actions .user-pill{display:none}.top-actions>button.ghost{display:none}.user-email,.user-role{display:none}.date-control{flex:1;gap:.2rem;justify-content:center;flex-wrap:wrap;min-width:0}.date-control button{padding:.2rem .4rem;font-size:.8rem;min-height:32px;border-radius:6px}.date-control input[type=date]{font-size:16px;padding:.2rem .3rem;max-width:110px;min-height:32px;border-radius:6px;flex:0 1 auto}.update-banner{padding:.5rem .8rem}.today-btn{display:none}.period-selector{gap:.15rem;margin-left:.25rem}.period-selector button{padding:.25rem .45rem;font-size:.72rem;flex:0 1 auto}.shell-content{padding:.6rem;padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.page{padding:0;gap:1rem}.mobile-nav{display:flex}.entry-types-list{gap:.5rem}.entry-type-card{padding:0;border-radius:12px}.entry-type-header{padding:.5rem .7rem;gap:.5rem;flex-wrap:nowrap;align-items:center}.entry-type-title{flex:1 1 auto;min-width:0}.entry-type-title h3{font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entry-type-title-row{flex-wrap:nowrap}.entry-type-title-row .chips,.type-description{display:none}.entry-type-right{flex-shrink:0}.type-metrics{font-size:.8rem}.type-metrics>span{display:none}button.primary,button.ghost,button.danger{min-height:36px}button.icon-only,button.icon-button,button.mini.icon-only{min-height:unset}.form-actions button,.dialog-actions button{min-height:44px}.time-entry-metrics{flex-shrink:0}.timer-actions{position:static;width:auto;height:auto;display:inline-flex;align-items:center}.timer-actions button{position:static}.time-actions{align-items:center}.category-section-header{padding:.5rem .7rem;gap:.35rem .8rem}.category-section-header .section-total{font-size:.9rem}.category-section-header .section-label{font-size:.65rem}.category-section-header .active-timer{padding-right:.6rem}.category-section-header .section-breakdown{gap:.1rem .4rem}.category-section-header .breakdown-item{font-size:.7rem}.entry-type-content{padding:.15rem .7rem .1rem;gap:.3rem}.entry-item{padding:.4rem 0}.entry-actions{flex-wrap:nowrap}.entry-meta{font-size:.75rem}.entry-content .field,.entry-sections .section-item,.entry-calcs span,.entry-extras span{font-size:.78rem}}@media (max-width: 600px){.food-item-image,.food-item-placeholder,.food-item-image-button{width:36px;height:36px}.food-item-content{gap:.6rem}.food-item-content,.food-item-text,.food-main-row{min-width:0}.food-main-row{flex-wrap:nowrap}.food-main-row strong,.food-main-row .entry-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-row{flex-direction:row;align-items:center;flex-wrap:nowrap}.entry-row .entry-header{min-width:0;flex-wrap:nowrap}.entry-row .entry-actions{width:auto;margin-left:auto}.entry-header{flex-wrap:wrap}.entry-header .type-metrics{margin-left:auto}.time-entry{gap:.5rem;padding:.5rem 0}.time-entry-main{flex-wrap:nowrap;align-items:center}.time-entry-body{flex:1;min-width:0}.time-main-row{flex-wrap:nowrap;align-items:center;gap:.3rem}.time-entry-icon{width:32px;height:32px}.time-range-box{font-size:.9rem}.time-input{min-width:3.2rem;width:3.4rem;padding:.15rem .35rem}.time-tracking-input{display:none}.time-entry-metrics{margin-left:auto;text-align:right}.time-entry-metrics .duration-full{display:none}.time-entry-metrics .duration-short{display:inline}.time-entry-metrics .entry-actions{width:auto}.week-grid{grid-template-columns:1fr;gap:.6rem}.week-day{padding:.7rem}.month-days{grid-template-columns:repeat(7,minmax(90px,1fr));overflow-x:auto;padding-bottom:.5rem}.auth-shell{padding:1.5rem 1rem}.auth-card{padding:1.6rem;border-radius:16px}.auth-card h1{font-size:1.5rem}.auth-card h2{font-size:1.05rem}.auth-form{gap:.7rem}.auth-input-wrap input{font-size:16px}.auth-primary{min-height:44px}.auth-icon{width:56px;height:56px}}.category-timeline{position:absolute;left:60%;top:50%;transform:translate(-50%,-50%);width:60%;max-width:500px;height:12px;display:none}.timeline-track{position:relative;width:100%;height:100%;background:#ffffff0d;border-radius:4px;overflow:hidden}.time-entry{position:relative}.time-entry.highlight-blink{animation:highlight-blink .5s ease-in-out 3}.entry-timeline{position:absolute;left:60%;top:50%;transform:translate(-50%,-50%);width:60%;max-width:500px;height:8px;display:none;z-index:0;pointer-events:none}.entry-timeline .timeline-track{width:100%}.timeline-bar{position:absolute;top:0;height:100%;border-radius:2px;opacity:.9;transition:opacity .2s}.timeline-bar:hover{opacity:1}.entry-timeline .timeline-bar{pointer-events:auto;touch-action:none}.entry-timeline .timeline-bar.draggable{cursor:grab}.entry-timeline .timeline-bar.dragging{cursor:grabbing;opacity:1}.entry-timeline .timeline-preview{position:absolute;top:calc(100% + 6px);left:0;right:0;height:12px;font-size:10px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;color:#ffffffb3;pointer-events:none;white-space:nowrap}.entry-timeline .timeline-preview-time{position:absolute;top:0;transform:translate(-50%)}.entry-timeline .timeline-handle{position:absolute;top:-2px;width:8px;height:calc(100% + 4px);background:#ffffff59;border-radius:2px;opacity:0;transition:opacity .15s;cursor:ew-resize}.entry-timeline .timeline-bar:hover .timeline-handle,.entry-timeline .timeline-bar.dragging .timeline-handle{opacity:1}.entry-timeline .timeline-handle.start{left:-4px}.entry-timeline .timeline-handle.end{right:-4px}.timeline-bar.active{animation:timeline-pulse 1.5s ease-in-out infinite}@keyframes timeline-pulse{0%,to{opacity:.9}50%{opacity:.5}}.timeline-ruler{position:absolute;inset:0;opacity:0;transition:opacity .15s;pointer-events:none;overflow:visible}.category-timeline .timeline-ruler,.time-entry:hover .timeline-ruler{opacity:1}.ruler-mark{position:absolute;top:0;bottom:0}.ruler-tick{position:absolute;top:0;bottom:0;left:0;width:1px;background:#ffffff40}.ruler-label{position:absolute;bottom:calc(100% + 3px);left:0;transform:translate(-50%);font-size:9px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;color:#ffffff8c;line-height:1;white-space:nowrap}.ruler-mark:first-child .ruler-label{transform:none}.ruler-mark:last-child .ruler-label{transform:translate(-100%)}.ruler-sub-tick{position:absolute;bottom:0;width:1px;height:30%;background:#ffffff1f}.ruler-sub-tick.half{height:50%;background:#ffffff2e}.category-timeline,.entry-timeline{overflow:visible}@media (min-width: 1024px){.category-timeline,.entry-timeline{display:block}.entry-type-header{position:relative;min-height:80px}}
