:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:#e0e7e0;color:#151d16;--background: oklch(98% .004 160);--surface: oklch(99% .003 160);--surface-low: oklch(95.5% .006 160);--surface-mid: oklch(92.5% .008 160);--surface-high: oklch(89% .011 150);--text: oklch(22% .018 150);--muted: oklch(43% .025 145);--subtle: oklch(62% .02 145);--line: oklch(82% .018 140);--primary: oklch(30% .09 145);--primary-hover: oklch(37% .1 145);--primary-soft: oklch(89% .065 145);--primary-soft-text: oklch(24% .08 145);--secondary: oklch(45% .09 62);--danger: oklch(48% .18 28);--danger-soft: oklch(91% .045 28);--bottom-nav-bg: color-mix(in oklch, var(--surface) 88%, var(--primary-soft) 12%);--bottom-nav-border: color-mix(in oklch, var(--primary) 14%, var(--line));--bottom-nav-muted: color-mix(in oklch, var(--muted) 82%, var(--primary));--shadow: 0 10px 30px oklch(35% .03 145 / .09);--shadow-soft: 0 4px 18px oklch(35% .03 145 / .06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--page-x: 16px}@media(prefers-color-scheme:dark){:root{color-scheme:dark;background:#050805;color:#e1e6e1;--background: oklch(17% .012 145);--surface: oklch(20% .013 145);--surface-low: oklch(24% .015 145);--surface-mid: oklch(28% .016 145);--surface-high: oklch(33% .018 145);--text: oklch(93% .009 145);--muted: oklch(74% .014 145);--subtle: oklch(59% .018 145);--line: oklch(39% .018 145);--primary: oklch(78% .09 145);--primary-hover: oklch(83% .1 145);--primary-soft: oklch(29% .055 145);--primary-soft-text: oklch(88% .08 145);--secondary: oklch(75% .085 62);--danger: oklch(72% .16 28);--danger-soft: oklch(31% .06 28);--bottom-nav-bg: color-mix(in oklch, var(--surface-low) 84%, var(--primary-soft) 16%);--bottom-nav-border: color-mix(in oklch, var(--primary) 18%, var(--line));--bottom-nav-muted: color-mix(in oklch, var(--muted) 84%, var(--primary));--shadow: 0 16px 40px oklch(5% .01 145 / .35);--shadow-soft: 0 8px 26px oklch(5% .01 145 / .28)}}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100dvh;background:linear-gradient(90deg,#d7e1d7,#efebe4 45%,#dae4de);color:var(--text);font-size:16px;line-height:1.5}@media(prefers-color-scheme:dark){body{background:linear-gradient(90deg,#040704,#0b0c06 45%,#020603)}}button,input,textarea,select{font:inherit}button{border:0}a{color:inherit;text-decoration:none}.desktop-stage{min-height:100dvh;display:flex;justify-content:center}.app-shell{position:relative;width:min(100%,430px);min-height:100dvh;background:var(--background);box-shadow:0 0 0 1px #5c665c14,0 28px 80px #10181029;overflow-x:clip}.app-main{min-height:100dvh;padding-bottom:calc(112px + env(safe-area-inset-bottom))}.page{min-height:100dvh;padding:0 var(--page-x) 28px}.top-bar{position:sticky;top:0;z-index:20;min-height:64px;display:flex;align-items:center;padding:calc(8px + env(safe-area-inset-top)) 0 10px;background:color-mix(in oklch,var(--surface) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in oklch,var(--line) 60%,transparent)}.top-bar.centered{margin-inline:calc(var(--page-x) * -1);justify-content:center;padding-inline:var(--page-x)}.top-bar.detail{align-items:flex-start;flex-direction:column;gap:6px;padding-bottom:14px}.top-bar h1{margin:0;color:var(--primary);font-size:22px;line-height:1.2;font-weight:760}.back-link{display:inline-flex;align-items:center;gap:8px;margin-left:-6px;padding:4px 6px;color:var(--primary);font-size:18px;font-weight:700;line-height:1.25}.page-heading{display:flex;flex-direction:column;gap:14px;padding:18px 0}.page-heading h2{margin:0;font-size:30px;line-height:1.2;font-weight:780}.segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--surface-low);border:1px solid color-mix(in oklch,var(--line) 68%,transparent);border-radius:var(--radius-sm)}.segmented-control button{min-height:38px;border-radius:7px;background:transparent;color:var(--muted);font-weight:720;cursor:pointer}.segmented-control .selected{color:var(--text);background:var(--surface);box-shadow:var(--shadow-soft)}.plan-list,.item-list,.category-sections{display:flex;flex-direction:column;gap:14px}.category-sections{gap:26px;padding-top:8px}.plan-card{position:relative;display:flex;flex-direction:column;gap:14px;padding:16px;overflow:hidden;background:var(--surface);border:1px solid color-mix(in oklch,var(--line) 58%,transparent);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.card-aura{position:absolute;top:-38px;right:-38px;width:108px;height:108px;border-radius:999px;background:color-mix(in oklch,var(--primary) 10%,transparent)}.plan-card-header{position:relative;display:flex;align-items:flex-start}.plan-card h2{margin:2px 0 4px;font-size:20px;line-height:1.25;font-weight:770}.plan-index{display:inline-flex;align-items:baseline;gap:8px;color:var(--muted);font-size:12px;font-weight:760;text-transform:uppercase}.plan-index strong{color:var(--text);font-size:18px}.plan-date{display:flex;align-items:center;gap:5px;margin:0;color:var(--muted);font-size:13px}.plan-metrics,.summary-grid,.weight-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plan-metrics div,.summary-grid div,.weight-quick-grid div{display:flex;flex-direction:column;gap:3px}.plan-metrics span,.summary-grid span,.weight-quick-grid span{color:var(--muted);font-size:12px;font-weight:720}.plan-metrics strong,.summary-grid strong,.weight-quick-grid strong{color:var(--primary);font-size:18px}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border-radius:var(--radius-sm);font-weight:740;cursor:pointer;transition:background .18s ease,transform .18s ease,opacity .18s ease}.button:active,.icon-button:active,.fab:active{transform:scale(.98)}.button.primary{color:#f7f9f7;background:var(--primary)}.button.primary:hover{background:var(--primary-hover)}.button.primary:disabled{opacity:.48;cursor:not-allowed}.button.secondary{color:var(--text);background:var(--surface-mid);border:1px solid color-mix(in oklch,var(--line) 65%,transparent)}.button.danger{color:#fbf7f7;background:var(--danger)}.button.danger:hover{background:color-mix(in oklch,var(--danger) 88%,black)}.plan-link{position:relative;flex:1 1 auto;min-width:0}.plan-card-actions{position:relative;display:flex;align-items:center;gap:10px}.icon-button{width:42px;height:42px;display:inline-grid;place-items:center;flex:0 0 auto;color:var(--text);background:color-mix(in oklch,var(--surface-low) 76%,transparent);border:1px solid color-mix(in oklch,var(--line) 62%,transparent);border-radius:var(--radius-sm);cursor:pointer}.danger-quiet{color:var(--danger);background:var(--danger-soft);border-color:color-mix(in oklch,var(--danger) 18%,transparent)}.fab-cluster{position:fixed;right:max(16px,calc((100vw - 430px)/2 + 16px));bottom:calc(108px + env(safe-area-inset-bottom));z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:10px}.fab{width:56px;height:56px;display:grid;place-items:center;color:#f7f9f7;background:var(--primary);border-radius:var(--radius-md);box-shadow:var(--shadow);cursor:pointer}.fab svg{transition:transform .18s ease}.fab.open svg{transform:rotate(45deg)}.fab-menu{width:230px;display:grid;gap:6px;padding:8px;background:color-mix(in oklch,var(--surface) 94%,transparent);border:1px solid color-mix(in oklch,var(--line) 72%,transparent);border-radius:var(--radius-md);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.fab-menu-item{min-height:46px;display:flex;align-items:center;gap:10px;padding:0 12px;color:var(--text);background:transparent;border-radius:var(--radius-sm);font-weight:760;text-align:left;cursor:pointer}.fab-menu-item:hover{background:var(--surface-low)}.floating-status{position:fixed;right:max(16px,calc((100vw - 430px)/2 + 16px));bottom:calc(176px + env(safe-area-inset-bottom));z-index:29;max-width:min(300px,calc(100vw - 32px));margin:0;padding:10px 12px;color:var(--primary-soft-text);background:var(--primary-soft);border:1px solid color-mix(in oklch,var(--primary) 18%,transparent);border-radius:var(--radius-sm);box-shadow:var(--shadow-soft);font-size:13px;font-weight:720}.bottom-nav{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:35;width:min(calc(100% - 28px),390px);display:grid;align-items:center;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:8px;padding:8px;transform:translate(-50%);background:var(--bottom-nav-bg);border:1px solid var(--bottom-nav-border);border-radius:28px;box-shadow:0 18px 46px #0c140c29,inset 0 1px oklch(100% .004 145 / .34);backdrop-filter:blur(18px) saturate(1.25)}.nav-pill{flex:1 1 0;min-width:0;height:56px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 16px;overflow:hidden;color:var(--bottom-nav-muted);border-radius:999px;font-size:13px;font-weight:780;outline:0;transition:width .22s cubic-bezier(.22,1,.36,1),background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}.nav-pill svg{flex:0 0 auto}.nav-pill span{max-width:150px;overflow:hidden;opacity:1;text-overflow:ellipsis;white-space:nowrap;transition:max-width .22s cubic-bezier(.22,1,.36,1),opacity .15s ease}.nav-pill:hover,.nav-pill:focus-visible{color:var(--primary);background:color-mix(in oklch,var(--primary-soft) 54%,transparent)}.nav-pill:focus-visible{box-shadow:0 0 0 3px color-mix(in oklch,var(--primary) 20%,transparent)}.nav-pill.active{flex:1 1 0;padding:0 16px;color:#f7f9f7;background:var(--primary);box-shadow:0 12px 28px color-mix(in oklch,var(--primary) 30%,transparent),inset 0 1px oklch(100% .004 145 / .2)}.nav-pill.active span{max-width:150px;opacity:1}.modal-backdrop,.sheet-backdrop{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:#0508056b;backdrop-filter:blur(3px)}.centered-confirm-modal .modal-backdrop{align-items:center}.modal-card{width:min(100%,390px);max-height:calc(100dvh - 34px);overflow:auto;padding:20px;background:var(--surface);border:1px solid color-mix(in oklch,var(--line) 60%,transparent);border-radius:22px;box-shadow:var(--shadow)}.modal-card.wide{width:min(100%,410px)}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px}.modal-header h2{margin:0;font-size:22px;line-height:1.25}.modal-header p{margin:4px 0 0;color:var(--muted);font-size:14px}.form-stack{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}fieldset.field{min-inline-size:0;margin:0;padding:0;border:0}.field.grow{flex:1}.field span{color:var(--muted);font-size:11px;font-weight:780;text-transform:uppercase}.field input,.field textarea,.field select{width:100%;min-height:44px;color:var(--text);background:var(--surface-low);border:1px solid color-mix(in oklch,var(--line) 55%,transparent);border-radius:var(--radius-sm);outline:0;padding:10px 12px}.field textarea{resize:vertical}.language-select{position:relative}.language-select-trigger{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;color:var(--text);background:var(--surface-low);border:1px solid color-mix(in oklch,var(--line) 55%,transparent);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.language-select-trigger span{min-width:0;overflow:hidden;color:inherit;font-size:15px;font-weight:650;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.language-select-trigger svg{flex:0 0 auto;color:var(--primary);transition:transform .18s ease}.language-select-trigger:hover{background:var(--surface)}.language-select-trigger.open,.language-select-trigger:focus-visible{border-color:color-mix(in oklch,var(--primary) 55%,var(--line));outline:0;box-shadow:0 0 0 3px color-mix(in oklch,var(--primary) 14%,transparent)}.language-select-trigger.open svg{transform:rotate(180deg)}.language-menu{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:30;display:grid;gap:4px;padding:6px;background:var(--surface);border:1px solid color-mix(in oklch,var(--line) 68%,transparent);border-radius:var(--radius-md);box-shadow:var(--shadow)}.language-option{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;color:var(--text);background:transparent;border-radius:var(--radius-sm);cursor:pointer;text-align:left}.language-option span{color:inherit;font-size:14px;font-weight:680;text-transform:none}.language-option svg{flex:0 0 auto;color:var(--primary)}.language-option:hover,.language-option:focus-visible{background:var(--surface-low);outline:0}.language-option.selected{color:var(--primary-soft-text);background:var(--primary-soft)}.date-range-trigger{width:100%;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;color:var(--text);background:var(--surface-low);border:1px solid color-mix(in oklch,var(--line) 55%,transparent);border-radius:var(--radius-sm);cursor:pointer;text-align:left;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.date-range-trigger span{min-width:0;overflow:hidden;color:inherit;font-size:15px;font-weight:650;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.date-range-trigger svg{flex:0 0 auto;color:var(--primary)}.date-range-trigger.open{border-color:color-mix(in oklch,var(--primary) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in oklch,var(--primary) 14%,transparent)}.date-range-picker{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--surface-low);border:1px solid color-mix(in oklch,var(--line) 65%,transparent);border-radius:var(--radius-md)}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.calendar-header strong{font-size:15px}.calendar-header button{width:34px;height:34px;display:grid;place-items:center;color:var(--text);background:var(--surface);border:1px solid color-mix(in oklch,var(--line) 62%,transparent);border-radius:var(--radius-sm);cursor:pointer}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-grid.week-row span{display:grid;place-items:center;min-height:24px;color:var(--muted);font-size:11px;font-weight:800}.calendar-grid button,.calendar-grid>span{min-width:0;min-height:36px}.calendar-grid button{color:var(--text);background:transparent;border-radius:var(--radius-sm);font-size:13px;font-weight:760;cursor:pointer}.calendar-grid button:hover{background:var(--surface)}.calendar-grid button.in-range{color:var(--primary-soft-text);background:color-mix(in oklch,var(--primary-soft) 62%,transparent)}.calendar-grid button.selected{color:#f7f9f7;background:var(--primary)}.field.compact input{min-height:40px}.field input:focus,.field textarea:focus,.field select:focus{border-color:color-mix(in oklch,var(--primary) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in oklch,var(--primary) 14%,transparent)}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:4px}.modal-actions.single{grid-template-columns:1fr}.template-picker-modal{padding-bottom:16px}.template-list{display:grid;gap:10px}.template-card{width:100%;display:flex;flex-direction:column;gap:12px;padding:14px;color:var(--text);background:var(--surface-low);border:1px solid color-mix(in oklch,var(--line) 62%,transparent);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.template-card:hover,.template-card:focus-visible{background:var(--surface);border-color:color-mix(in oklch,var(--primary) 36%,var(--line));box-shadow:var(--shadow-soft);outline:0}.template-card:active{transform:scale(.99)}.template-card-header{display:flex;align-items:center;gap:12px}.template-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-sm)}.template-card-header div{min-width:0;display:flex;flex-direction:column;gap:2px}.template-card-header strong{overflow:hidden;color:var(--text);font-size:16px;line-height:1.25;font-weight:780;text-overflow:ellipsis;white-space:nowrap}.template-card-header span:last-child{color:var(--muted);font-size:12px;font-weight:720}.template-category-chips{display:flex;flex-wrap:wrap;gap:6px}.template-category-chips span{max-width:100%;padding:5px 8px;overflow:hidden;color:var(--primary-soft-text);background:color-mix(in oklch,var(--primary-soft) 72%,var(--surface));border-radius:999px;font-size:12px;line-height:1.2;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.plan-type-field{gap:10px}.type-chip-grid{display:flex;flex-wrap:wrap;gap:9px}.type-chip{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 14px;color:var(--muted);background:var(--surface);border:1px solid color-mix(in oklch,var(--line) 72%,transparent);border-radius:999px;font-size:13px;font-weight:780;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.type-chip:hover{background:var(--surface-low)}.type-chip:active{transform:scale(.98)}.type-chip.selected{color:var(--primary-soft-text);background:var(--primary-soft);border-color:color-mix(in oklch,var(--primary) 30%,transparent);box-shadow:var(--shadow-soft)}.sheet-backdrop{padding:0}.action-sheet{width:min(100%,430px);padding:12px 16px calc(18px + env(safe-area-inset-bottom));background:var(--surface);border-radius:24px 24px 0 0;box-shadow:var(--shadow)}.sheet-handle{width:48px;height:5px;margin:0 auto 14px;background:color-mix(in oklch,var(--line) 75%,transparent);border-radius:99px}.sheet-title{padding:0 4px 8px;color:var(--muted);font-size:13px;font-weight:740}.sheet-row{width:100%;min-height:54px;display:flex;align-items:center;gap:14px;padding:0 12px;color:var(--text);background:transparent;border-radius:var(--radius-md);font-weight:720;cursor:pointer}.sheet-row:hover{background:var(--surface-low)}.sheet-row.danger{color:var(--danger)}.sheet-cancel{width:100%;margin-top:10px}.summary-card{display:flex;flex-direction:column;gap:16px;margin-top:16px;padding:18px;background:var(--surface-low);border:1px solid color-mix(in oklch,var(--line) 70%,transparent);border-radius:var(--radius-md)}.detail-page{--detail-card-radius: 16px;padding-bottom:34px}.detail-page .detail-fixed-header{position:sticky;top:0;z-index:20;margin-inline:calc(var(--page-x) * -1);padding:0 var(--page-x) 10px;background:var(--surface);box-shadow:0 1px color-mix(in oklch,var(--line) 56%,transparent)}.detail-page .top-bar.detail{position:static;margin-inline:0;padding-inline:0;background:transparent;border-bottom:0;box-shadow:none}.detail-page .top-bar h1{font-size:30px;line-height:1.1;letter-spacing:0}.detail-page .summary-card{gap:6px;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.detail-page .summary-top{align-items:center;color:var(--muted);font-size:14px;line-height:1.25;font-weight:620}.detail-page .summary-top>span{flex:1 1 auto;min-width:0}.detail-page .summary-top strong{flex:0 0 auto;padding:0;color:var(--text);background:transparent;border-radius:0;font-size:13px;font-weight:780}.detail-page .summary-grid{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px}.detail-page .summary-grid>div{flex-direction:row;align-items:baseline;gap:4px}.detail-page .summary-grid>div:last-child{align-items:baseline}.detail-page .summary-weight-row{flex:1 1 220px;display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.detail-page .summary-weight-row>div{flex:1 1 auto;display:flex;flex-direction:row;align-items:baseline;gap:4px;min-width:0;white-space:nowrap}.detail-page .summary-weight-row>div span,.detail-page .summary-weight-row>div strong{flex:0 0 auto}.detail-page .summary-grid span{color:var(--muted);font-size:12px;line-height:1.2;font-weight:560}.detail-page .summary-grid strong{color:var(--text);font-size:15px;line-height:1.1;font-weight:760}.detail-page .summary-chart-link{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:2px 0;color:var(--primary);background:transparent;font-size:12px;line-height:1.2;font-weight:720;white-space:nowrap;cursor:pointer}.detail-page .summary-chart-link svg{width:14px;height:14px}.detail-page .summary-chart-link:hover{color:var(--primary-hover);text-decoration:underline;text-underline-offset:3px}.detail-page .category-tabs{display:flex;align-items:center;gap:8px;margin:16px calc(var(--page-x) * -1) 20px;padding:0 var(--page-x) 2px;overflow-x:auto;scrollbar-width:none;scroll-padding-inline:var(--page-x)}.detail-page .category-tabs::-webkit-scrollbar{display:none}.detail-page .category-tab{min-width:0;min-height:38px;max-width:162px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:7px;padding:0 12px;color:var(--muted);background:var(--surface-low);border:1px solid color-mix(in oklch,var(--line) 66%,transparent);border-radius:999px;font-size:13px;font-weight:740;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.detail-page .category-tab:active{transform:scale(.98)}.detail-page .category-tab:focus-visible{outline:3px solid color-mix(in oklch,var(--primary) 22%,transparent);outline-offset:2px}.detail-page .category-tab.selected{color:var(--primary-soft-text);background:var(--primary-soft);border-color:color-mix(in oklch,var(--primary) 28%,var(--line))}.detail-page .category-tab.add-category-tab{color:#f7f9f7;background:var(--primary);border-color:var(--primary)}.detail-page .category-tab svg,.detail-page .category-dot{flex:0 0 auto}.detail-page .category-dot{width:8px;height:8px;border-radius:999px}.detail-page .category-tab-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-page .detail-actions{grid-template-columns:repeat(2,max-content);justify-content:center;gap:10px;margin:18px 0 24px}.detail-page .detail-actions .button{min-height:42px;gap:6px;padding:0 12px;border-radius:10px;font-size:14px;font-weight:680}.detail-page .detail-actions .button svg{width:17px;height:17px}.detail-page .detail-actions .button.primary{box-shadow:0 8px 16px color-mix(in oklch,var(--primary) 22%,transparent)}.detail-page .detail-actions .button.secondary{background:var(--surface-high)}.detail-page .category-sections{gap:28px;padding-top:0}.detail-page .category-section{display:flex;flex-direction:column;gap:12px}.detail-page .category-heading{align-items:center;gap:12px;padding:0 4px 0 14px;border-left:4px solid var(--primary)}.detail-page .category-heading .field{min-width:0;gap:6px}.detail-page .field span{color:var(--text);font-size:11px;font-weight:680;letter-spacing:0}.detail-page .field input{min-height:42px;background:color-mix(in oklch,var(--surface-low) 78%,var(--surface));border-color:transparent;border-radius:8px;color:var(--text);font-size:16px;font-weight:760}.detail-page .category-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.detail-page .category-heading button{min-height:42px;justify-content:center;flex:0 0 auto;gap:6px;padding:0 10px;border-radius:8px;font-size:14px;font-weight:720}.detail-page .category-add{width:108px;color:#f7f9f7;background:var(--primary)}.detail-page .category-delete{width:42px;color:var(--danger);background:var(--danger-soft);border:1px solid color-mix(in oklch,var(--danger) 20%,transparent)}.detail-page .item-list{gap:12px}.detail-page .item-card{gap:12px;padding:16px;background:var(--surface);border-color:color-mix(in oklch,var(--line) 42%,transparent);border-radius:14px;box-shadow:var(--shadow-soft)}.detail-page .item-card.packed{background:var(--surface)}.detail-page .item-topline{align-items:stretch;gap:10px}.detail-page .item-delete{width:42px;min-height:42px;display:grid;place-items:center;flex:0 0 auto;align-self:flex-end;color:var(--danger);background:var(--danger-soft);border:1px solid color-mix(in oklch,var(--danger) 20%,transparent);border-radius:8px;cursor:pointer}.detail-page .item-grid{grid-template-columns:minmax(0,.46fr) minmax(0,.54fr);gap:10px}.detail-page .inline-field{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px}.detail-page .inline-field span{color:var(--text);font-size:12px;font-weight:720;text-transform:none;white-space:nowrap}.detail-page .stepper,.detail-page .weight-input{min-height:42px;background:color-mix(in oklch,var(--surface-low) 78%,var(--surface));border-color:transparent;border-radius:8px}.detail-page .stepper button{width:30px;height:40px}.detail-page .stepper input,.detail-page .weight-input input{color:var(--primary);font-size:17px;font-weight:820}.detail-page .weight-input span{color:var(--text);font-size:13px;font-weight:560}.summary-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;color:var(--muted);font-size:13px}.summary-top strong{padding:4px 10px;color:#f7f9f7;background:var(--primary);border-radius:999px}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 18px}.category-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px}.category-heading span{font-size:14px;font-weight:800}.category-heading button{min-height:34px;display:inline-flex;align-items:center;gap:4px;padding:0 10px;color:var(--primary);background:var(--primary-soft);border-radius:999px;font-size:12px;font-weight:760;cursor:pointer}.item-card{display:flex;flex-direction:column;gap:12px;padding:14px;background:var(--surface);border:1px solid color-mix(in oklch,var(--line) 58%,transparent);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.item-card.packed{background:color-mix(in oklch,var(--primary-soft) 34%,var(--surface))}.item-topline{display:flex;align-items:flex-end;gap:10px}.pack-toggle{width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;margin-bottom:5px;background:var(--surface-low);border:2px solid color-mix(in oklch,var(--primary) 38%,var(--line));border-radius:999px;cursor:pointer}.pack-toggle span{width:14px;height:14px;display:block;border-radius:inherit;background:transparent}.pack-toggle[aria-pressed=true] span{background:var(--primary)}.item-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:10px}.stepper,.weight-input{min-height:44px;display:flex;align-items:center;background:var(--surface-low);border:1px solid color-mix(in oklch,var(--line) 55%,transparent);border-radius:var(--radius-sm);overflow:hidden}.stepper button{width:36px;height:42px;display:grid;place-items:center;color:var(--primary);background:transparent;cursor:pointer}.stepper input,.weight-input input{width:100%;min-width:0;color:var(--primary);background:transparent;border:0;outline:0;text-align:center;font-weight:780}.weight-input{padding-right:10px}.weight-input input{text-align:right;padding:0 6px 0 10px}.weight-input span{color:var(--muted);font-size:13px;font-weight:760;text-transform:none}.donut-wrap{display:flex;justify-content:center;padding:14px 0 22px}.donut{width:208px;height:208px;display:grid;place-items:center;border-radius:999px;box-shadow:var(--shadow-soft)}.donut-core{width:138px;height:138px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--surface);border-radius:999px;box-shadow:inset 0 0 16px #28312814}.donut-core strong{color:var(--text);font-size:30px;line-height:1}.donut-core span{color:var(--muted);font-size:13px}.weight-quick-grid{padding-bottom:16px}.category-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.category-stat{padding:10px;background:var(--surface-low);border:1px solid color-mix(in oklch,var(--line) 58%,transparent);border-radius:var(--radius-md)}.category-label{display:flex;align-items:center;gap:7px;min-width:0}.category-label i{width:8px;height:8px;flex:0 0 auto;border-radius:999px}.category-label span{min-width:0;overflow:hidden;font-size:13px;font-weight:780;text-overflow:ellipsis;white-space:nowrap}.category-values{display:flex;justify-content:space-between;gap:8px;padding-top:6px;color:var(--muted);font-size:12px}.category-values strong{color:var(--primary)}.weight-stats-backdrop{align-items:center;padding:28px 16px;background:#0c0e0c66;backdrop-filter:blur(2px)}.weight-stats-modal{width:min(100%,360px);max-height:calc(100dvh - 56px);padding:0;overflow:hidden;background:var(--surface);border:0;border-radius:24px;box-shadow:0 8px 24px #10181014}.weight-stats-modal .modal-header{justify-content:center;padding:24px 24px 8px;text-align:center}.weight-stats-modal .modal-header>div{min-width:0}.weight-stats-modal .modal-header h2{font-size:24px;line-height:1.2;font-weight:820}.weight-stats-modal .modal-header p{margin-top:4px;color:var(--muted);font-size:16px;line-height:1.4}.weight-stats-modal .donut-wrap{padding:24px}.weight-stats-modal .donut{position:relative;width:208px;height:208px;padding:0;color:inherit;appearance:none;border:0;outline:0;box-shadow:0 4px 20px #1018100a;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-tap-highlight-color:transparent;transition:box-shadow .18s ease,transform .18s ease}.weight-stats-modal .donut:hover,.weight-stats-modal .donut.selected{box-shadow:0 8px 28px #1018101f}.weight-stats-modal .donut:focus{outline:0}.weight-stats-modal .donut:focus-visible{box-shadow:0 8px 28px #1018101f,0 0 0 4px color-mix(in oklch,var(--primary) 18%,transparent)}.weight-stats-modal .donut:active{transform:scale(.99)}.weight-stats-modal .donut *{user-select:none}.donut-selected-segment{position:absolute;inset:-10px;border-radius:999px;filter:saturate(1.25);pointer-events:none;mask:radial-gradient(farthest-side,transparent calc(100% - 18px),black calc(100% - 17px))}.weight-stats-modal .donut-core{position:relative;z-index:1;width:140px;height:140px;background:var(--surface)}.weight-stats-modal .donut-core strong{font-size:40px;font-weight:820;letter-spacing:0}.weight-stats-modal .donut-core span{margin-top:4px;font-size:14px}.weight-stats-modal .category-grid{max-height:min(300px,calc(100dvh - 470px));overflow-y:auto;gap:12px;padding:0 24px 16px}.weight-stats-modal .category-stat{min-width:0;padding:10px;color:var(--text);background:var(--surface-low);border:1px solid color-mix(in oklch,var(--line) 30%,transparent);border-radius:12px;cursor:pointer;text-align:left;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.weight-stats-modal .category-stat:hover{background:color-mix(in oklch,var(--surface-low) 72%,var(--primary-soft))}.weight-stats-modal .category-stat:active{transform:translateY(1px)}.weight-stats-modal .category-stat.selected{background:var(--surface)}.weight-stats-modal .category-label{gap:8px}.weight-stats-modal .category-label span{font-size:14px;line-height:1.25;font-weight:760}.weight-stats-modal .category-values{align-items:baseline;padding-top:6px}.weight-stats-modal .category-values span{color:var(--muted);font-size:12px}.weight-stats-modal .category-values strong{font-size:10px;font-weight:760}.weight-stats-footer{padding:2px 24px 24px}.weight-stats-close{width:100%;min-height:56px;display:inline-flex;align-items:center;justify-content:center;color:var(--text);background:var(--surface-high);border:0;border-radius:12px;font-size:18px;font-weight:760;cursor:pointer;transition:background .18s ease,transform .18s ease}.weight-stats-close:hover{background:var(--surface-mid)}.weight-stats-close:active{transform:translateY(1px)}.settings-panel,.empty-state{margin-top:18px;padding:18px;background:var(--surface);border:1px solid color-mix(in oklch,var(--line) 58%,transparent);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}.settings-panel h2,.empty-state h2{margin:0 0 12px;font-size:18px}.settings-panel-title{display:flex;align-items:center;gap:8px}.settings-panel-title svg{flex:0 0 auto;color:var(--primary)}.settings-panel p,.empty-state p{margin:0 0 12px;color:var(--muted)}.settings-info-link{color:var(--primary);font-weight:760;text-decoration:underline;text-underline-offset:3px}.settings-info-link:hover{color:var(--primary-hover)}.settings-panel.quiet{background:var(--surface-low);box-shadow:none}.settings-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-message{margin-top:12px;color:var(--primary);font-weight:700}.empty-state{text-align:center}.ended-empty-illustration{width:min(180px,62vw);height:auto;margin:4px auto 14px;color:var(--primary);display:block}.empty-state .ended-empty-illustration+h2{margin-bottom:0}.empty-state.compact{margin-top:8px;box-shadow:none;background:var(--surface-low)}.loading-state{min-height:100dvh;display:grid;place-items:center;align-content:center;gap:12px;color:var(--primary);font-weight:800}.loading-mark{width:42px;height:42px;border:4px solid color-mix(in oklch,var(--primary) 18%,transparent);border-top-color:var(--primary);border-radius:999px;animation:spin .9s linear infinite}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:360px){:root{--page-x: 12px}.nav-pill{min-width:0;height:52px}.nav-pill.active{min-width:0;padding:0 16px}.detail-actions,.settings-actions{grid-template-columns:1fr}}
