:root{--color-primary:#2f7d4f;--color-primary-dark:#24633e;--color-text:#222;--color-muted:#6b6b6b;--color-border:#dcdfd9;--color-bg:#f6f7f5;--color-card:#fff;--color-warn:#a35c00;--color-warn-bg:#fff4e0;--color-error:#b3261e;--color-error-bg:#fdecea;--color-ok-bg:#e7f4ea;--tab-height:56px;color:var(--color-text);background:var(--color-bg);-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,Yu Gothic UI,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-height:100dvh;margin:0}a{color:var(--color-primary)}input,select,textarea,button{font:inherit;font-size:16px}.app{max-width:640px;padding-bottom:calc(var(--tab-height) + env(safe-area-inset-bottom));margin:0 auto}.app-header{z-index:10;padding:calc(env(safe-area-inset-top) + 10px) 16px 10px;background:var(--color-primary);color:#fff;position:sticky;top:0}.app-title{font-size:1.1rem;font-weight:700}.app-main{padding:12px}.tab-bar{z-index:10;max-width:640px;padding-bottom:env(safe-area-inset-bottom);background:var(--color-card);border-top:1px solid var(--color-border);margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.tab-bar a{height:var(--tab-height);color:var(--color-muted);flex:1;justify-content:center;align-items:center;font-size:.8rem;text-decoration:none;display:flex}.tab-bar a.active{color:var(--color-primary);box-shadow:inset 0 3px 0 var(--color-primary);font-weight:700}.page-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.page-title{margin:4px 0 12px;font-size:1.25rem}.section-title{justify-content:space-between;margin:20px 0 8px;font-size:1rem;display:flex}.section-sub{color:var(--color-muted);font-weight:400}.lead{margin-top:0}.muted{color:var(--color-muted)}.small{font-size:.85rem}.back-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;margin-bottom:8px;padding:0;text-decoration:none;display:inline-block}.card-title{margin:0 0 8px;font-size:.95rem}.chips{-webkit-overflow-scrolling:touch;gap:6px;margin:8px -12px 4px;padding:0 12px 6px;display:flex;overflow-x:auto}.chip{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-text);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:6px 12px;font-size:14px}.chip.active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.section-title.suggest-out{color:var(--color-error)}.section-title.suggest-soon{color:var(--color-warn)}.list-item.suggest-out{box-shadow:inset 4px 0 0 var(--color-error)}.list-item.suggest-soon{box-shadow:inset 4px 0 #e0a030}a.list-main{color:inherit;text-decoration:none}.product-meta{justify-content:space-between;align-items:center;gap:8px;margin:-6px 0 10px;display:flex}.inline-select{align-items:center;gap:6px;display:flex}.inline-select select{border:1px solid var(--color-border);background:#fff;border-radius:6px;min-height:36px;padding:4px 6px}.search-input{border:1px solid var(--color-border);border-radius:8px;width:100%;min-height:42px;margin-bottom:8px;padding:6px 10px}.check-item{cursor:pointer}.check-item input{width:22px;height:22px;accent-color:var(--color-primary);flex:none}.alias-list{margin:8px 0 0;padding-left:20px;font-size:.9rem}details.card summary{cursor:pointer}.setting-field{margin-bottom:14px}.setting-input{align-items:center;gap:8px;color:var(--color-text)!important;font-size:.9rem!important;display:flex!important}.setting-input input{width:100px!important}.segmented{background:var(--color-border);border-radius:10px;margin-bottom:10px;padding:3px;display:flex}.segmented button{min-height:38px;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;font-size:15px}.segmented button[aria-selected=true]{background:var(--color-card);font-weight:700;box-shadow:0 1px 3px #0000001f}.period-nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;font-size:.9rem;display:flex}.period-nav .btn{min-width:44px;font-size:1.2rem}.spending-total{margin:0 0 8px}.spending-total strong{margin-right:4px;font-size:1.3rem}.legend{color:var(--color-text);flex-wrap:wrap;gap:4px 12px;margin:10px 0 4px;padding:0;font-size:.8rem;list-style:none;display:flex}.legend li{align-items:center;gap:4px;display:flex}.legend-swatch{border-radius:2px;width:10px;height:10px}.table{border-collapse:collapse;background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;width:100%;margin-bottom:12px;font-size:.9rem;overflow:hidden}.table th,.table td{text-align:left;border-top:1px solid var(--color-border);padding:8px 12px}.table th{color:var(--color-muted);border-top:none;font-weight:400}.table td:last-child,.table th:last-child{text-align:right;font-variant-numeric:tabular-nums}.table tfoot td{font-weight:700}.chart-box{height:240px;position:relative}.card{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;margin-bottom:10px;padding:12px}.notice{border-radius:8px;margin:10px 0;padding:10px 12px;font-size:.9rem}ul.notice{padding-left:28px}.notice-error{background:var(--color-error-bg);color:var(--color-error)}.notice-warn{background:var(--color-warn-bg);color:var(--color-warn)}.notice-ok{background:var(--color-ok-bg);color:var(--color-primary-dark)}.hint{color:var(--color-muted);margin:-4px 0 8px;font-size:.85rem}.hint-warn{color:var(--color-warn)}.badge-warn{background:var(--color-warn-bg);color:var(--color-warn);border-radius:4px;margin-left:6px;padding:0 6px;font-size:.75rem}.btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:8px 16px;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--color-primary);color:#fff}.btn-sub{background:var(--color-card);border-color:var(--color-border);color:var(--color-text)}.btn-danger{background:var(--color-card);border-color:var(--color-error);color:var(--color-error)}.btn-small{min-height:36px;padding:4px 12px;font-size:.9rem}.btn-block{width:100%;margin-bottom:10px}.btn-row{gap:8px;margin-top:12px;display:flex}.btn-row .btn{flex:1}.btn-icon{width:36px;height:36px;color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;font-size:1.3rem}.field{min-width:0;margin-bottom:8px;display:block}.field>span{color:var(--color-muted);font-size:.8rem;display:block}.field em{color:var(--color-error);font-style:normal}.field input,.field select{border:1px solid var(--color-border);background:#fff;border-radius:6px;width:100%;min-height:42px;padding:6px 8px}.field-required input{border-color:var(--color-error);background:var(--color-error-bg)}.field-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field-row-3{grid-template-columns:1fr 2fr 1.4fr}.scan-photos{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.scan-photo{flex-direction:column;gap:4px;display:flex;position:relative}.scan-photo img{object-fit:contain;border:1px solid var(--color-border);background:var(--color-card);border-radius:6px;width:100%;height:160px}.scan-photo-no{background:var(--color-primary);color:#fff;text-align:center;border-radius:50%;width:24px;height:24px;font-size:.8rem;line-height:24px;position:absolute;top:4px;left:4px}.btn-disabled{opacity:.5;pointer-events:none}.scan-submit{margin-top:16px}.item-head{align-items:center;gap:6px;margin-bottom:6px;display:flex}.item-no{background:var(--color-bg);text-align:center;border-radius:50%;flex:none;width:24px;height:24px;font-size:.8rem;line-height:24px}.item-raw{border:1px dashed var(--color-border);min-width:0;color:var(--color-muted);border-radius:4px;flex:1;padding:4px 6px;font-size:14px}.item-unknown{border-color:var(--color-error);background:var(--color-error-bg)}.submit-bar{bottom:calc(var(--tab-height) + env(safe-area-inset-bottom));background:var(--color-card);border-top:1px solid var(--color-border);margin:0 -12px;padding:10px 12px;position:sticky;box-shadow:0 -2px 6px #0000000f}.submit-bar .notice{margin:6px 0 0}.submit-bar .btn-row{margin-top:8px}.sum-line{font-size:.9rem}.sum-warn{color:var(--color-warn)}.list{background:var(--color-card);border:1px solid var(--color-border);border-radius:10px;margin:0 0 12px;padding:0;list-style:none;overflow:hidden}.list>li+li{border-top:1px solid var(--color-border)}.list-item{color:inherit;align-items:center;gap:8px;padding:10px 12px;text-decoration:none;display:flex}.list-main{flex-direction:column;flex:1;min-width:0;display:flex}.list-title{font-weight:700}.list-sub{color:var(--color-muted);font-size:.85rem}.list-raw{color:var(--color-muted);font-size:.75rem}.list-amount{font-variant-numeric:tabular-nums;flex-direction:column;flex:none;align-items:flex-end;display:flex}.list-note{color:var(--color-muted);font-size:.75rem}a.list-title{color:inherit;text-decoration:none}.detail-total{margin:4px 0;font-size:1.6rem;font-weight:700}
