.app-bar{position: sticky;top: 0;z-index: var(--z-app-bar);display: flex;align-items: center;gap: var(--space-1);min-height: var(--app-bar-h);padding: var(--space-1) var(--space-3);background: var(--color-bg);border-bottom: 1px solid var(--color-line);}.app-bar__title{flex: 1;min-width: 0;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 2px;}.app-bar__title h1{font-size: var(--text-lg);font-weight: var(--weight-bold);line-height: 1.2;white-space: nowrap;}.app-bar__title .pill-btn{padding: 1px var(--space-2);line-height: 1.3;}.icon-btn{display: inline-grid;place-items: center;flex: none;width: var(--tap);height: var(--tap);border-radius: var(--radius-lg);background: var(--color-sunken);color: var(--color-text);font-size: var(--text-xl);line-height: 1;}.icon-btn--quiet{color: var(--color-muted);font-size: var(--text-md);font-weight: var(--weight-bold);}.pill-btn{padding: var(--space-1) var(--space-3);border-radius: var(--radius-pill);background: var(--color-accent);color: var(--color-on-accent);font-size: var(--text-sm);font-weight: var(--weight-medium);}.pill-btn--quiet{min-height: 32px;padding-inline: var(--space-2);background: var(--color-sunken);color: var(--color-text);}.btn{display: inline-flex;align-items: center;justify-content: center;gap: var(--space-2);min-height: var(--tap);padding: var(--space-2) var(--space-4);border-radius: var(--radius-lg);font-size: var(--text-md);font-weight: var(--weight-bold);line-height: 1.2;text-align: center;background: var(--color-surface);color: var(--color-text);}.btn--primary{background: var(--color-accent);color: var(--color-on-accent);}.btn--plain{background: transparent;color: var(--color-link);font-weight: var(--weight-medium);}.btn--danger{color: var(--color-danger);}.btn:disabled,.is-busy .btn{opacity: 0.55;pointer-events: none;}.btn,.icon-btn,.pill-btn,.tap{transition: transform var(--dur-press) var(--ease),opacity var(--dur) var(--ease);}.btn:active,.icon-btn:active,.pill-btn:active,.tap:active{transform: scale(var(--press-scale));}.btn-stack{display: flex;flex-direction: column;gap: var(--space-2);}.btn-row{display: flex;flex-wrap: wrap;gap: var(--space-2);}.btn-row>.btn{flex: 1 1 auto;white-space: nowrap;padding-inline: var(--space-3);font-size: var(--text-sm);}.card{padding: var(--space-1) var(--space-3);border-radius: var(--radius-lg);background: var(--color-surface);}.card + .card,.card + .notice,.notice + .card{margin-top: var(--space-3);}.card__title{padding: var(--space-2) 0 0;color: var(--color-muted);font-size: var(--text-sm);}.card__text{padding: var(--space-1) 0 var(--space-2);white-space: pre-wrap;word-break: break-word;}.card__note{padding: 0 0 var(--space-2);color: var(--color-muted);font-size: var(--text-sm);}.list-row{display: flex;justify-content: space-between;align-items: baseline;gap: var(--space-3);padding: var(--space-2) 0;border-top: 1px solid var(--color-line);}.list-row:first-child{border-top: 0;}.list-row__label{color: var(--color-muted);}.list-row__value{font-weight: var(--weight-medium);text-align: right;}.list-row--sub{padding: 0 0 var(--space-2) var(--space-3);border-top: 0;font-size: var(--text-sm);}.list-row--total .list-row__value{font-size: var(--text-lg);font-weight: var(--weight-bold);}.list-row--warn .list-row__label,.list-row--warn .list-row__value{color: var(--color-danger);}.progress{height: 6px;margin: 0 0 var(--space-3);border-radius: var(--radius-pill);overflow: hidden;background: var(--color-muted-soft);}.progress + .list-row{border-top: 0;padding-top: 0;}.progress__fill{display: block;height: 100%;border-radius: inherit;background: var(--color-success);}.chip{display: inline-flex;align-items: center;padding: 2px var(--space-3);border-radius: var(--radius-pill);font-size: var(--text-sm);font-weight: var(--weight-bold);color: var(--color-on-accent);background: var(--tone,var(--color-accent));}.chip--neutral{color: var(--color-text);background: var(--color-muted-soft);}.notice{margin-top: var(--space-3);padding: var(--space-2) var(--space-3);border-radius: var(--radius-md);background: var(--color-warning-soft);font-size: var(--text-sm);}.form{display: flex;flex-direction: column;gap: var(--space-3);padding: var(--space-3);border-radius: var(--radius-lg);background: var(--color-surface);}.form__title{font-size: var(--text-lg);font-weight: var(--weight-bold);}.field{display: flex;flex-direction: column;gap: var(--space-1);}.field__label{color: var(--color-muted);font-size: var(--text-sm);}.field__control{display: flex;align-items: center;gap: var(--space-2);padding: 0 var(--space-3);border-radius: var(--radius-md);background: var(--color-sunken);}.field__control:focus-within{box-shadow: 0 0 0 2px var(--color-accent);}.field__input{flex: 1;min-width: 0;height: var(--tap);border: 0;background: transparent;font-size: var(--text-lg);outline: none;}.field__suffix,.field__hint{color: var(--color-muted);font-size: var(--text-sm);}.field__textarea{width: 100%;min-height: 120px;padding: var(--space-3);border: 0;border-radius: var(--radius-md);background: var(--color-sunken);resize: none;}.segmented{display: flex;gap: 2px;padding: 2px;border-radius: var(--radius-md);background: var(--color-sunken);}.segmented__opt{flex: 1 1 0;min-width: 0;min-height: 36px;padding: 0 var(--space-2);border-radius: var(--radius-sm);color: var(--color-muted);font-size: var(--text-sm);font-weight: var(--weight-medium);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}.segmented__opt.is-active{background: var(--color-surface);color: var(--color-text);box-shadow: var(--shadow-raised);}.stepper{display: inline-flex;align-items: center;gap: var(--space-2);}.stepper__btn{display: inline-grid;place-items: center;width: 36px;height: 36px;border-radius: var(--radius-md);background: var(--color-sunken);color: var(--color-text);font-size: var(--text-lg);line-height: 1;}.stepper__btn:disabled{opacity: 0.35;pointer-events: none;}.stepper__value{min-width: 2ch;text-align: center;font-weight: var(--weight-bold);font-variant-numeric: tabular-nums;}.list-row--control{align-items: center;padding: var(--space-1) 0;}.card.is-loading{opacity: 0.5;transition: opacity var(--dur) var(--ease);}.state-msg{padding: var(--space-6) var(--gutter);color: var(--color-muted);text-align: center;}.backdrop{position: fixed;inset: 0;z-index: var(--z-sheet);display: flex;align-items: flex-end;background: transparent;transition: background var(--dur) var(--ease);}.backdrop.is-open{background: var(--color-overlay);}.sheet{width: 100%;max-height: 88vh;overflow-y: auto;overscroll-behavior: contain;padding: var(--space-2) var(--gutter) calc(var(--space-4) + env(safe-area-inset-bottom));border-radius: var(--radius-xl) var(--radius-xl) 0 0;background: var(--color-sunken);transform: translateY(100%);transition: transform var(--dur) var(--ease);}.backdrop.is-open .sheet{transform: none;}.sheet__grab{width: 36px;height: 5px;margin: 0 auto var(--space-3);border-radius: var(--radius-pill);background: var(--color-muted-soft);}.toast{position: fixed;left: var(--gutter);right: var(--gutter);bottom: calc(var(--space-5) + env(safe-area-inset-bottom));z-index: var(--z-toast);padding: var(--space-3) var(--space-4);border-radius: var(--radius-lg);background: var(--color-toast);color: var(--color-on-toast);font-size: var(--text-sm);text-align: center;pointer-events: none;opacity: 0;transform: translateY(var(--space-2));transition: opacity var(--dur) var(--ease),transform var(--dur) var(--ease);}.toast.is-shown{opacity: 1;transform: none;}.toast--error{background: var(--color-danger);color: var(--color-on-accent);}