:root{--bg: #f4f6fa;--card: #ffffff;--line: #e6e9ef;--line-2: #c7cdd8;--txt: #111827;--txt-2: #4b5563;--txt-3: #8a94a6;--blue: #2f5bea;--blue-d: #1e45c9;--blue-s: #eaf0ff;--on-blue: #ffffff;--amb: #b45309;--amb-s: #fff4e5;--grn: #15803d;--grn-s: #e8f7ee;--red: #dc2626;--red-s: #fee2e2;--gray-s: #f1f3f6;--shadow: 0 1px 2px rgba(16, 24, 40, .04);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .16);--scrim: rgba(17, 24, 39, .45);--toast-bg: #111827;--toast-fg: #ffffff;--toast-act: #8fb0ff;color-scheme:light;--f-sans: -apple-system, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;--gutter: 20px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #0b0f17;--card: #151b26;--line: #232b3a;--line-2: #3a4456;--txt: #f3f4f6;--txt-2: #b8c0cc;--txt-3: #7b8494;--blue: #5b84ff;--blue-d: #86a5ff;--blue-s: #1b2a52;--on-blue: #ffffff;--amb: #f5b04d;--amb-s: #3a2a12;--grn: #4ade80;--grn-s: #123322;--red: #f87171;--red-s: #3b1717;--gray-s: #1e2634;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .6);--toast-bg: #f3f4f6;--toast-fg: #111827;--toast-act: #1e45c9;color-scheme:dark}}:root[data-theme=dark]{--bg: #0b0f17;--card: #151b26;--line: #232b3a;--line-2: #3a4456;--txt: #f3f4f6;--txt-2: #b8c0cc;--txt-3: #7b8494;--blue: #5b84ff;--blue-d: #86a5ff;--blue-s: #1b2a52;--on-blue: #ffffff;--amb: #f5b04d;--amb-s: #3a2a12;--grn: #4ade80;--grn-s: #123322;--red: #f87171;--red-s: #3b1717;--gray-s: #1e2634;--shadow: 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .6);--toast-bg: #f3f4f6;--toast-fg: #111827;--toast-act: #1e45c9;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{background:var(--bg);color:var(--txt);font-family:var(--f-sans);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}#root{min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0;margin:0;text-align:inherit}button:disabled{cursor:default;opacity:.45}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}h1,h2,h3,p{margin:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.num{font-variant-numeric:tabular-nums lining-nums;font-weight:800;letter-spacing:-.01em}.unit{font-size:.5em;font-weight:700;margin-left:2px}.app{max-width:560px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 24px) var(--gutter) calc(168px + env(safe-area-inset-bottom))}.page{display:flex;flex-direction:column;gap:18px;animation:page-in .2s ease-out}@keyframes page-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.hdr{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}.hdr-title{display:flex;flex-direction:column;gap:2px;min-width:0}.hdr-sub{font-size:13px;color:var(--txt-3)}.hdr h1{font-size:26px;font-weight:800;letter-spacing:-.01em;line-height:1.2}.hdr-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.sec-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 2px}.sec-title h2{font-size:16px;font-weight:700}.sec-title .aside{font-size:13px;color:var(--txt-3)}.sec-title .link{font-size:13px;font-weight:600;color:var(--blue)}.section{display:flex;flex-direction:column;gap:10px}.sync{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--txt-3);white-space:nowrap;min-height:44px}.sync .dot{width:6px;height:6px;border-radius:50%;background:var(--grn);flex-shrink:0}.sync.warn{color:var(--amb);font-weight:700}.sync.warn .dot{background:var(--amb)}.sync.busy .dot{background:var(--txt-3);animation:blink 1s ease-in-out infinite}@keyframes blink{50%{opacity:.2}}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.card.pad{padding:16px 18px}.card-h{display:flex;align-items:center;gap:8px;padding:14px 16px 10px}.card-h h2{font-size:16px;font-weight:700;flex:1;min-width:0}.card-h .ico{display:flex;flex-shrink:0}.card-h .ico svg{width:18px;height:18px}.card-h .ico.amb{color:var(--amb)}.card-h .ico.blue{color:var(--blue)}.card-h .aside{font-size:12px;color:var(--txt-3);white-space:nowrap}.card-h .sum{font-size:15px;white-space:nowrap}.card-foot{padding:10px 16px 14px;display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 16px;border-top:1px solid var(--line);text-align:left;color:inherit;text-decoration:none}button.row:active{background:var(--gray-s)}.row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.row-main .t{font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-main .t .v{font-weight:500;color:var(--txt-2)}.row-main .s{font-size:12px;color:var(--txt-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-main .s.wrap{white-space:normal}.row .amt{font-size:16px;white-space:nowrap}.row .cnt{font-size:14px;font-weight:700;white-space:nowrap}.chev{color:var(--txt-3);display:inline-flex;flex-shrink:0}.chev svg{width:18px;height:18px}.empty-line{padding:14px 16px 16px;font-size:13px;color:var(--txt-3);border-top:1px solid var(--line)}.avatar{width:40px;height:40px;border-radius:50%;color:#fff;font-weight:700;font-size:16px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.avatar.sm{width:34px;height:34px;font-size:14px}.avatar.lg{width:48px;height:48px;font-size:20px}.pill{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:12px;font-size:12px;font-weight:600;white-space:nowrap;background:var(--gray-s);color:var(--txt-2)}.pill.amber{background:var(--amb-s);color:var(--amb)}.pill.blue{background:var(--blue-s);color:var(--blue-d)}.pill.green{background:var(--grn-s);color:var(--grn)}.pill.red{background:var(--red-s);color:var(--red)}.icon-btn{width:44px;height:44px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--txt-2);display:inline-flex;align-items:center;justify-content:center}.icon-btn.bare{border-color:transparent;background:transparent}.icon-btn.danger{color:var(--red)}.icon-btn svg{width:20px;height:20px}.btn-primary{width:100%;min-height:52px;border-radius:14px;background:var(--blue);color:var(--on-blue);font-size:16px;font-weight:700;text-align:center;box-shadow:0 8px 20px #2f5bea40}.btn-primary:active:not(:disabled){transform:translateY(1px)}.btn-primary:disabled{box-shadow:none}.btn-primary.sm{min-height:48px;font-size:15px;box-shadow:none}.btn-line{min-height:48px;padding:0 16px;border-radius:12px;border:1.5px solid var(--blue);background:var(--card);color:var(--blue);font-size:15px;font-weight:700;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-line.quiet{border-color:var(--line);color:var(--txt-2);font-weight:600}.btn-line svg{width:18px;height:18px}.btn-ink{min-height:48px;padding:0 18px;border-radius:12px;background:var(--blue);color:var(--on-blue);font-size:15px;font-weight:700;text-align:center}.btn-danger{min-height:50px;padding:0 16px;border-radius:12px;border:1.5px solid var(--red);background:var(--card);color:var(--red);font-size:15px;font-weight:700;text-align:center}.btn-text{min-height:44px;padding:0 8px;color:var(--blue);font-size:14px;font-weight:700}.btn-text.quiet{color:var(--txt-2)}.btn-row{display:flex;gap:8px}.btn-row>*{flex:1}.act-btn{min-height:34px;padding:0 12px;border-radius:17px;border:1.5px solid var(--blue);background:var(--card);color:var(--blue);font-size:12px;font-weight:700;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.act-btn svg{width:14px;height:14px}.check{width:26px;height:26px;flex-shrink:0;border-radius:50%;border:2px solid var(--line-2);display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:background .15s,border-color .15s}.check.on{background:var(--blue);border-color:var(--blue)}.check svg{width:16px;height:16px}.check.box{border-radius:7px;width:24px;height:24px}.check.on.just{animation:pop .3s cubic-bezier(.2,.9,.3,1.3)}@keyframes pop{0%{transform:scale(.6)}to{transform:scale(1)}}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{display:flex;flex-direction:column;gap:6px;padding:16px;text-align:left;min-width:0}.tile .lbl{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--txt-2)}.tile .lbl svg{width:16px;height:16px}.tile .lbl.amb svg{color:var(--amb)}.tile .lbl.blue svg{color:var(--blue)}.tile .big{font-size:clamp(24px,7.6vw,30px);line-height:1.1;white-space:nowrap}.tile .sub{font-size:12px;color:var(--txt-3)}.tile .sub.hot{color:var(--amb);font-weight:600}.alert{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--red);border-radius:12px;background:var(--red-s);color:var(--red);font-size:13px;font-weight:600;line-height:1.5;text-align:left}.alert>span{flex:1}.store-head{display:flex;align-items:center;gap:10px}.store-head .icon-btn:first-child{margin-left:-6px}.store-head .nm{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.store-head h1{font-size:22px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-head .sub{font-size:12px;color:var(--txt-3)}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px 18px}.stats>div{display:flex;flex-direction:column;gap:4px;min-width:0}.stats>div+div{padding-left:16px;border-left:1px solid var(--line)}.stats>div:first-child{padding-right:12px}.stats .lbl{font-size:12px;font-weight:600;color:var(--txt-3)}.stats .big{font-size:24px;line-height:1.15;white-space:nowrap}.stats .sub{font-size:12px;color:var(--txt-3)}.check-row{display:flex;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 16px;border-top:1px solid var(--line);text-align:left;color:inherit}.check-row:active{background:var(--gray-s)}.check-row .row-main .t{font-weight:600}.check-row.done .row-main .t{color:var(--txt-3);text-decoration:line-through}.search{display:flex;align-items:center;gap:10px;min-height:46px;padding:0 14px;border-radius:12px;background:var(--card);border:1px solid var(--line)}.search svg{width:18px;height:18px;color:var(--txt-3);flex-shrink:0}.search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:16px;padding:10px 0}.search input::-webkit-search-cancel-button{-webkit-appearance:none}.search .icon-btn{width:36px;height:36px;margin-right:-8px}.segmented{display:flex;gap:2px;padding:3px;border-radius:12px;background:var(--gray-s)}.segmented button{flex:1;min-height:38px;border-radius:9px;color:var(--txt-2);font-size:12px;letter-spacing:-.02em;font-weight:500;text-align:center;white-space:nowrap;padding:0 2px;min-width:0;overflow:hidden;text-overflow:ellipsis}.segmented button[aria-pressed=true]{background:var(--card);color:var(--txt);font-weight:700;box-shadow:0 1px 3px #1018281f}.chips-scroll{display:flex;gap:8px;overflow-x:auto;margin:0 calc(-1 * var(--gutter));padding:2px var(--gutter);scrollbar-width:none}.chips-scroll::-webkit-scrollbar{display:none}.chips-wrap{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:40px;padding:0 14px;flex-shrink:0;border-radius:20px;border:1px solid var(--line);background:var(--card);color:var(--txt-2);font-size:13px;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.chip[aria-pressed=true]{background:var(--blue-s);border-color:var(--blue);color:var(--blue-d)}.chip .avatar{width:22px;height:22px;font-size:11px;margin-left:-6px}.cond{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 8px;min-height:28px;padding:0 2px}.cond .sum{font-size:13px;color:var(--txt-2);font-variant-numeric:tabular-nums;min-width:0;white-space:nowrap}.cond .tools{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-left:auto}.cond .sum b{color:var(--txt)}.select-inline{position:relative;display:inline-flex;align-items:center;flex-shrink:0}.select-inline select{min-height:36px;padding:0 26px 0 8px;border:none;background-color:transparent;color:var(--txt-2);font-size:16px;font-weight:600;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--txt-3) 50%),linear-gradient(135deg,var(--txt-3) 50%,transparent 50%);background-position:calc(100% - 13px) 55%,calc(100% - 8px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.entries{display:flex;flex-direction:column;gap:10px}.entry{display:flex;flex-direction:column;gap:8px;padding:12px 14px;text-align:left;width:100%;color:inherit}.entry-main:active{background:var(--gray-s)}.entry.moved{opacity:.55}.entry-main{display:flex;flex-direction:column;gap:3px;width:100%;min-width:0;margin:-12px -14px 0;padding:12px 14px 0;width:calc(100% + 28px);border-radius:16px 16px 0 0}.entry-main>.s{font-size:12px;color:var(--txt-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.entry-top .item{font-size:15px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-top .amt{font-size:15px;white-space:nowrap}.entry.done .entry-top .amt{color:var(--txt-3);font-weight:700}.entry-bottom{display:flex;align-items:center;gap:8px;min-height:34px}.entry-bottom .avatar.sm{width:28px;height:28px;font-size:12px}.entry .memo{font-size:12px;color:var(--txt-2);overflow-wrap:anywhere}.more-line{padding:4px 0 0;font-size:12px;color:var(--txt-3);text-align:center}.form{display:flex;flex-direction:column;gap:18px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.lbl{font-size:12px;font-weight:700;color:var(--txt-2)}.input{width:100%;min-height:50px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--txt);font-size:16px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-s)}textarea.input{min-height:72px;padding:12px 14px;resize:none;line-height:1.6}input[type=date].input{display:block;line-height:1.4}input[type=date].input::-webkit-date-and-time-value{text-align:left;min-height:1.4em}select.input{padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,var(--txt-3) 50%),linear-gradient(135deg,var(--txt-3) 50%,transparent 50%);background-position:calc(100% - 19px) 55%,calc(100% - 14px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}.field.bad .input,.field.bad .amount-card{border-color:var(--red)}.err{font-size:12px;color:var(--red);font-weight:600}.amount-card{display:flex;flex-direction:column;gap:6px;padding:14px 18px}.amount-card:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-s)}.amount-line{display:flex;align-items:baseline;gap:6px}.amount-line .yen{font-size:24px;font-weight:700;color:var(--txt-3)}.amount-line input{flex:1;min-width:0;width:100%;padding:0;border:none;outline:none;background:transparent;color:var(--txt);font-variant-numeric:tabular-nums lining-nums;font-size:40px;font-weight:800;letter-spacing:-.01em;text-align:right}.amount-line input::placeholder{color:var(--line-2)}.store-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.store-chip{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:74px;padding:10px 4px;border-radius:14px;border:1.5px solid var(--line);background:var(--card);color:var(--txt);font-size:12px;font-weight:500;text-align:center;overflow:hidden}.store-chip span:last-child{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.store-chip[aria-pressed=true]{border-color:var(--blue);background:var(--blue-s);font-weight:700}.sug-cap{font-size:11px;color:var(--txt-3)}.sug{flex-shrink:0;white-space:nowrap;min-height:36px;padding:0 12px;border-radius:18px;border:1px dashed var(--line-2);background:var(--card);color:var(--txt);font-size:13px;display:inline-flex;align-items:center;gap:6px}.sug .p{color:var(--txt-3);font-variant-numeric:tabular-nums}.date-row{display:flex;gap:8px}.date-row .input{flex:1;min-width:0}.date-row .btn-line{flex-shrink:0;min-height:50px}.month-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px}.month-nav .m{text-align:center;font-size:20px;font-weight:800}.total-block{display:flex;flex-direction:column;gap:10px;padding:16px 18px}.total-line{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.total-line .big{font-size:clamp(28px,9vw,36px);line-height:1.1}.total-line .cnt{font-size:14px;color:var(--txt-3)}.bar{display:flex;height:10px;border-radius:5px;background:var(--gray-s);overflow:hidden}.bar.thin{height:6px}.bar.hair{height:5px}.bar .u{background:var(--amb)}.bar .r{background:var(--blue)}.bar .c{background:var(--blue);opacity:.7}.legend{display:flex;flex-wrap:wrap;column-gap:16px;row-gap:4px;font-size:13px;color:var(--txt-2);font-variant-numeric:tabular-nums}.legend span{display:inline-flex;align-items:center;gap:6px}.sw{width:10px;height:10px;border-radius:3px;flex-shrink:0}.sw.u{background:var(--amb)}.sw.r{background:var(--blue)}.m-row{display:flex;flex-direction:column;gap:8px;width:100%;padding:12px 16px;border-top:1px solid var(--line);text-align:left;color:inherit}button.m-row:active{background:var(--gray-s)}.m-top{display:flex;align-items:center;gap:10px}.m-top .nm{font-size:15px;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-top .amt{font-size:16px;white-space:nowrap}.m-row .meta{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:2px;font-size:12px;color:var(--txt-3)}.master-row{display:flex;align-items:center;gap:4px;padding:6px 8px 6px 16px;border-top:1px solid var(--line)}.master-row .nm{flex:1;min-width:0;font-size:15px;font-weight:600;overflow-wrap:anywhere;display:flex;align-items:center;gap:10px}.add-row{display:flex;gap:8px;padding:12px 16px 8px}.add-row .input{flex:1;min-width:0;min-height:46px}.disc{border-top:1px solid var(--line)}.disc:first-child{border-top:none}.disc>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:56px;padding:0 16px;font-size:15px;font-weight:600;cursor:pointer}.disc>summary::-webkit-details-marker{display:none}.disc>summary .t{flex:1}.disc>summary .v{font-size:13px;font-weight:500;color:var(--txt-3)}.disc>summary .chev svg{transition:transform .2s}.disc[open]>summary .chev svg{transform:rotate(180deg)}.disc-body{display:flex;flex-direction:column;gap:10px;padding:0 16px 16px}.note{font-size:12px;color:var(--txt-3);line-height:1.7}.note.warn{color:var(--red);font-weight:600}.kv{font-size:13px;color:var(--txt-2);line-height:1.7}.kv b{color:var(--txt)}.dev-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.dev-row:last-child{border-bottom:none}.dev-row .nm{flex:1;min-width:0;font-size:14px;font-weight:600}.dev-row .nm .sub{display:block;font-size:12px;color:var(--txt-3);font-weight:400;margin-top:2px}.dev-row.off{opacity:.45}.tag-this{font-size:11px;color:var(--blue-d);background:var(--blue-s);border-radius:999px;padding:2px 8px;margin-left:6px;font-weight:700}.errbox{padding:12px 14px;border-radius:12px;border:1px solid var(--red);background:var(--red-s);color:var(--red);font-size:14px;font-weight:600;line-height:1.6}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 12px;text-align:center;color:var(--txt-3)}.empty .t{font-size:16px;font-weight:700;color:var(--txt-2)}.empty .d{font-size:13px;line-height:1.7}.loading{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:20px;color:var(--txt-2);text-align:center}.spinner{width:36px;height:36px;border-radius:50%;border:3px solid var(--blue-s);border-top-color:var(--blue);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading .msg{color:var(--red);font-size:15px;line-height:1.7}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar-in{max-width:560px;margin:0 auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 6px}.tab{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:58px;padding-top:9px;color:var(--txt-3);font-size:10px;font-weight:500}.tab svg{width:24px;height:24px}.tab[aria-current=page]{color:var(--blue);font-weight:700}.tab-add .disc-btn{width:56px;height:56px;margin-top:-24px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;border:4px solid var(--bg);box-shadow:0 8px 20px #2f5bea59}.tab-add .disc-btn svg{width:26px;height:26px}.tab-add[aria-current=page]{color:var(--txt)}.toast{position:fixed;left:16px;right:16px;bottom:calc(92px + env(safe-area-inset-bottom));z-index:250;max-width:528px;margin:0 auto;display:flex;align-items:center;gap:8px;min-height:52px;padding:4px 4px 4px 16px;border-radius:14px;background:var(--toast-bg);color:var(--toast-fg);font-size:14px;font-weight:600;box-shadow:var(--shadow-lg);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .2s,transform .2s}.toast.show{opacity:1;transform:none}.toast.show button{pointer-events:auto}.toast .msg{flex:1;min-width:0;line-height:1.5;padding:6px 0}.toast .act{min-height:44px;padding:0 12px;color:var(--toast-act);font-weight:800;white-space:nowrap}.toast .x{width:44px;height:44px;color:var(--toast-fg);font-size:18px;text-align:center;opacity:.8}.toast.err{bottom:calc(152px + env(safe-area-inset-bottom));background:#b91c1c;color:#fff}.toast.err .x{color:#fff}.sheet-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;animation:fade-in .18s ease-out}@keyframes fade-in{0%{opacity:0}}.sheet{width:100%;max-width:560px;max-height:calc(100vh - env(safe-area-inset-top) - 24px);max-height:calc(100dvh - env(safe-area-inset-top) - 24px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px;padding:8px var(--gutter) calc(24px + env(safe-area-inset-bottom));background:var(--card);border-radius:20px 20px 0 0;box-shadow:var(--shadow-lg);animation:sheet-up .24s cubic-bezier(.2,.8,.2,1)}@keyframes sheet-up{0%{transform:translateY(40px);opacity:.4}}.sheet .grab{align-self:center;width:64px;height:20px;margin:-6px 0 -8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:grab}.sheet .grab:before{content:"";width:40px;height:4px;border-radius:2px;background:var(--line-2)}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-head h2{font-size:19px;font-weight:800;line-height:1.35}.sheet-bar{position:sticky;top:-8px;z-index:2;display:grid;grid-template-columns:minmax(80px,auto) 1fr minmax(80px,auto);align-items:center;gap:8px;margin:-8px calc(-1 * var(--gutter)) 0;padding:10px var(--gutter);background:var(--card);border-bottom:1px solid var(--line)}.sheet-bar h2{font-size:17px;font-weight:800;text-align:center}.sheet-bar .left{justify-self:start}.sheet-bar .right{justify-self:end;min-height:40px;padding:0 16px;border-radius:10px;background:var(--blue);color:var(--on-blue);font-size:15px;font-weight:700}.sheet .msg{font-size:15px;line-height:1.7;white-space:pre-wrap}.check-list{display:flex;flex-direction:column}.check-list .check-row{padding-left:0;padding-right:0}.check-list .check-row:first-child{border-top:none}.total-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:14px;background:var(--blue-s);color:var(--blue-d)}.total-card .l{font-size:14px;font-weight:600}.total-card .v{font-size:24px}.inline-field{display:flex;align-items:center;gap:10px}.inline-field .lbl{flex-shrink:0}.inline-field .input{flex:1;min-width:0;min-height:46px}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:calc(env(safe-area-inset-top) + 28px) var(--gutter) 28px}.login{width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px}.logo{width:64px;height:64px;border-radius:20px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #2f5bea4d}.logo svg{width:34px;height:34px}.login h1{font-size:28px;font-weight:800}.login .lead{font-size:13px;color:var(--txt-2);line-height:1.7}.pwa-hint{padding:12px 14px;border-radius:12px;background:var(--blue-s);font-size:13px;line-height:1.7;color:var(--txt-2)}.pwa-hint b{color:var(--blue-d)}.input.pass{letter-spacing:.12em}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
