.loft-ret__ctx-spacer{flex:1 1 auto}.loft-ret__lang{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;color:var(--color-text-muted);white-space:nowrap}.loft-ret__lang select{padding:.3rem .5rem;border:1px solid var(--color-border-default);border-radius:var(--radius-sm, 6px);background:var(--color-surface-card);color:var(--color-text-body);font-size:.78rem;max-width:9rem}.loft-ret__canvas{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow-y:auto;padding:.75rem}.loft-ret__scanning,.loft-ret__empty{margin:auto;display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;color:var(--color-text-muted);padding:2rem 1rem}.loft-ret__scanning-hint{font-size:.78rem}.loft-ret__empty>i{font-size:2.4rem;color:var(--color-accent-primary)}.loft-ret__empty h2{margin:0;font-size:1.05rem;color:var(--color-text-heading)}.loft-ret__empty p{margin:0;max-width:34rem;font-size:.85rem}.loft-ret__empty-actions{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;margin-top:.4rem}.loft-ret__filters{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.loft-ret__search{display:flex;align-items:center;gap:.4rem;flex:1 1 14rem;padding:.35rem .6rem;border:1px solid var(--color-border-default);border-radius:var(--radius-sm, 6px);background:var(--color-surface-card);color:var(--color-text-muted)}.loft-ret__search input{flex:1 1 auto;min-width:0;border:none;background:transparent;color:var(--color-text-body);font-size:16px}.loft-ret__search input:focus{outline:none}.loft-ret__search:focus-within{outline:2px solid var(--color-accent-primary);outline-offset:1px}.loft-ret__filters select{padding:.4rem .55rem;border:1px solid var(--color-border-default);border-radius:var(--radius-sm, 6px);background:var(--color-surface-card);color:var(--color-text-body);font-size:.82rem}.loft-ret__no-match{color:var(--color-text-muted);font-size:.85rem;text-align:center;margin-top:2rem}.loft-ret__month{margin-bottom:1.1rem}.loft-ret__month-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:.25rem .25rem .4rem}.loft-ret__month-head h3{margin:0;font-size:.85rem;font-weight:700;color:var(--color-text-heading)}.loft-ret__month-total{font-size:.78rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.loft-ret__rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.loft-ret__row{display:grid;grid-template-columns:3.2rem 1fr auto auto;align-items:center;gap:.6rem;width:100%;padding:.5rem .6rem;border:1px solid transparent;border-radius:var(--radius-sm, 6px);background:var(--color-surface-card);color:var(--color-text-body);font-size:.82rem;text-align:left;cursor:pointer}.loft-ret__row:hover{border-color:var(--color-border-hover)}.loft-ret__row--selected{border-color:var(--color-accent-primary)}.loft-ret__row-date{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.76rem}.loft-ret__row-merchant{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text-heading)}.loft-ret__row-cat{font-size:.7rem;padding:.1rem .45rem;border-radius:var(--radius-pill, 999px);border:1px solid var(--color-border-default);color:var(--color-text-muted);white-space:nowrap}.loft-ret__row-total{font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-text-heading)}@container tool (max-width: 480px){.loft-ret__row{grid-template-columns:2.8rem 1fr auto}.loft-ret__row-cat{display:none}}.loft-ret__review{flex:1 1 auto;min-height:0}.loft-ret__review-grid{display:grid;grid-template-columns:minmax(200px,320px) 1fr;gap:1rem;align-items:start}@container tool (max-width: 768px){.loft-ret__review-grid{grid-template-columns:1fr}}.loft-ret__review-title{margin:0 0 .6rem;font-size:1rem;color:var(--color-text-heading)}.loft-ret__review-actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:.9rem}.loft-ret__review-photo{display:flex;flex-direction:column;gap:.5rem;align-items:center}.loft-ret__photo{width:100%;height:auto;max-height:60vh;object-fit:contain;border-radius:var(--radius-md, 10px);border:1px solid var(--color-border-default);background:var(--color-surface-primary)}.loft-ret__form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .6rem}.loft-ret__field{display:flex;flex-direction:column;gap:.25rem;font-size:.72rem;color:var(--color-text-muted);min-width:0}.loft-ret__field--wide{grid-column:1 / -1}.loft-ret__field input,.loft-ret__field select{padding:.45rem .55rem;border:1px solid var(--color-border-default);border-radius:var(--radius-sm, 6px);background:var(--color-surface-card);color:var(--color-text-body);font-size:16px;min-width:0}.loft-ret__field input:focus-visible,.loft-ret__field select:focus-visible,.loft-ret__item-row input:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:1px}.loft-ret__items{grid-column:1 / -1;display:flex;flex-direction:column;gap:.35rem;margin-top:.2rem}.loft-ret__items-head{display:flex;align-items:center;justify-content:space-between;font-size:.72rem;color:var(--color-text-muted)}.loft-ret__items-add{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .55rem;border:1px solid var(--color-border-default);border-radius:var(--radius-sm, 6px);background:transparent;color:var(--color-text-body);font-size:.74rem;cursor:pointer}.loft-ret__items-add:hover{border-color:var(--color-border-hover)}.loft-ret__items-empty{margin:0;font-size:.76rem;color:var(--color-text-muted)}.loft-ret__item-row{display:grid;grid-template-columns:1fr 3.4rem 5rem 2.2rem;gap:.35rem}.loft-ret__item-row input{padding:.35rem .45rem;border:1px solid var(--color-border-default);border-radius:var(--radius-sm, 6px);background:var(--color-surface-card);color:var(--color-text-body);font-size:16px;min-width:0}.loft-ret__item-row button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border-default);border-radius:var(--radius-sm, 6px);background:transparent;color:var(--color-text-muted);cursor:pointer}.loft-ret__item-row button:hover{color:var(--color-error);border-color:var(--color-border-hover)}.loft-ret__rail{display:flex;flex-direction:column;gap:.6rem;padding:.75rem;overflow-y:auto;min-height:0}.loft-ret__rail--empty{color:var(--color-text-muted);font-size:.8rem}.loft-ret__rail-head{display:flex;align-items:center;justify-content:space-between}.loft-ret__rail-head h3{margin:0;font-size:.85rem;color:var(--color-text-heading)}.loft-ret__rail-close{border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;padding:.3rem}.loft-ret__rail-actions{display:flex;justify-content:space-between;gap:.6rem;margin-top:.75rem}.loft-ret__delete{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .7rem;border:1px solid var(--color-border-default);border-radius:var(--radius-sm, 6px);background:transparent;color:var(--color-error);font-size:.78rem;cursor:pointer}.loft-ret__export{position:relative}.loft-ret__export-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:30;display:flex;flex-direction:column;min-width:15rem;padding:.3rem;border:1px solid var(--color-border-default);border-radius:var(--radius-md, 10px);background:var(--color-surface-elevated);box-shadow:0 8px 24px var(--color-overlay-strong)}.loft-ret__export-menu button{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border:none;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--color-text-body);font-size:.8rem;text-align:left;cursor:pointer}.loft-ret__export-menu button:hover:not(:disabled){background:var(--color-surface-card)}.loft-ret__export-menu button:disabled{opacity:.45;cursor:default}.loft-ret__overlay{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;background:var(--color-overlay-strong);padding:1rem}.loft-ret__overlay-body{display:flex;flex-direction:column;gap:.75rem;width:min(640px,100%);padding:.75rem;border:1px solid var(--color-border-default);border-radius:var(--radius-md, 10px);background:var(--color-surface-elevated)}.loft-ret__video-wrap{position:relative}.loft-ret__video{width:100%;max-height:60vh;border-radius:var(--radius-sm, 6px);background:var(--color-surface-primary)}.loft-ret__overlay-error p{margin:0;color:var(--color-error);font-size:.85rem}.loft-ret__overlay-actions{display:flex;justify-content:flex-end;gap:.6rem}@media(pointer:coarse){.loft-ret__row,.loft-ret__export-menu button,.loft-ret__items-add,.loft-ret__item-row button{min-height:44px}}
