:root{--bg-main: #09090a;--bg-card: #131316;--bg-card-hover: #1b1b20;--bg-sidebar: #0c0c0e;--text-main: #f0f0f3;--text-muted: #8b8b95;--metal-mid: #707078;--metal-bright: #b4b4be;--accent-cheddar: #d9781b;--accent-cream: #ebe4d8;--wood-walnut: #4b3621;--primary-color: #c21807;--primary-hover: #9e1205;--success-color: #4f7942;--border-color: #36363e;--primary-tint-04: rgba(194, 24, 7, .04);--primary-tint-06: rgba(194, 24, 7, .06);--primary-tint-08: rgba(194, 24, 7, .08);--primary-tint-10: rgba(194, 24, 7, .1);--primary-tint-12: rgba(194, 24, 7, .12);--primary-tint-15: rgba(194, 24, 7, .15);--primary-tint-18: rgba(194, 24, 7, .18);--primary-tint-20: rgba(194, 24, 7, .2);--primary-glow: rgba(194, 24, 7, .45);--chart-fill: rgba(194, 24, 7, .12);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-label: "Roboto Mono", monospace;--font-headline: "Roboto Mono", monospace;--font-tagline: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--page-max-width: 1800px;--shell-gutter: clamp(12px, 2vw, 24px);--section-gap: clamp(16px, 2vw, 24px);--layout-gap: clamp(14px, 2vw, 24px);--card-padding: clamp(16px, 2vw, 24px);--card-padding-tight: clamp(14px, 1.8vw, 20px);--manual-cols: minmax(14rem, 2.45fr) minmax(8.5rem, 1.05fr) minmax(4.25rem, .52fr) minmax(4.75rem, .62fr) minmax( calc(5.75rem - 30px) , .68fr) minmax(3rem, .34fr) 2rem}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-main);font-family:var(--font-family);min-height:100vh;min-height:100svh}header{text-align:center;margin-bottom:40px;animation:fadeInDown .6s ease-out forwards}header h1{font-size:2.5rem;background:linear-gradient(135deg,#5a5a62 0%,var(--metal-bright) 42%,#7a5c48 100%);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:10px}header p{color:var(--text-muted);font-size:1.1rem}#spa-container{display:flex;width:100%;min-height:100vh;min-height:100svh}aside{width:220px;min-width:220px;background-color:var(--bg-sidebar);border-right:1px solid var(--border-color);padding:24px 0;display:flex;flex-direction:column;z-index:1000;position:sticky;top:0;height:100vh;height:100dvh;overflow:hidden}aside.hidden{display:none!important}.sidebar-header{margin-bottom:24px;padding:0 20px 0 18px}.brand-lockup{display:flex;flex-direction:column;align-items:stretch;gap:10px}.brand-logo-img{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;background:transparent}.brand-logo-img--sidebar{max-width:168px;margin:0 auto}.brand-tagline{font-family:var(--font-tagline);font-weight:600;font-size:.62rem;line-height:1.35;letter-spacing:.16em;text-transform:uppercase;color:var(--metal-bright);text-align:center;margin:0}.sidebar-nav{display:flex;flex-direction:column;flex:1}.nav-btn{background:transparent;color:var(--text-muted);border:none;text-align:left;padding:14px 24px;cursor:pointer;font-family:var(--font-headline);font-size:.8rem;font-weight:500;letter-spacing:.05em;border-left:3px solid transparent;transition:all .2s;display:flex;align-items:center;gap:12px;text-transform:uppercase}.nav-btn:hover{color:var(--text-main);background-color:#ffffff08}.nav-btn.active{color:var(--text-main);background-color:transparent;border-left:3px solid var(--primary-color)}.nav-btn.active .nav-icon{fill:var(--text-main)}.nav-icon{width:16px;height:16px;fill:var(--text-muted);transition:fill .2s}.sidebar-label{font-family:var(--font-label);font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;padding:0 24px;margin-top:30px;margin-bottom:12px}main{flex:1;min-width:0;width:100%;padding:var(--shell-gutter);display:flex;flex-direction:column;align-items:center}.view-section{width:100%;max-width:var(--page-max-width);animation:fadeInDown .4s ease-out forwards;container-type:inline-size}.view-section.hidden{display:none!important}#context-header{position:relative;z-index:500;width:100%;max-width:var(--page-max-width);margin-bottom:var(--section-gap);container-type:inline-size}#setup-section{position:relative;z-index:20}#upload-view{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.receipt-view-layout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:var(--layout-gap);align-items:start;width:100%}.receipt-upload-card,.extraction-card{position:relative;min-width:0}.card.extraction-card{display:flex;flex-direction:column;gap:clamp(14px,2vw,20px)}.card.receipt-upload-card{display:flex;flex-direction:column;gap:clamp(12px,1.8vw,20px);padding:var(--card-padding-tight);container-type:inline-size}.receipt-upload-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 16px;padding:0 0 12px;border-bottom:1px solid var(--border-color)}.receipt-ocr-lang-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-shrink:0}.receipt-ocr-lang-label{font-family:var(--font-label);font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.receipt-upload-title{color:var(--text-muted);margin:0;font-size:clamp(.8rem,1.8vw,.95rem);line-height:1.35}.receipt-filename{color:var(--primary-color)}.receipt-upload-body{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(14px,2vw,24px);padding:0}.receipt-upload-media,.receipt-upload-tools{min-width:0;display:flex;flex-direction:column;gap:12px}.receipt-image-preview{text-align:center;margin-top:4px}.receipt-preview-img{display:block;margin:0 auto;max-width:100%;width:auto;height:auto;max-height:min(52svh,560px);border-radius:8px;pointer-events:none}.ocr-lang-select{width:min(100%,18rem);min-width:min(100%,12rem);max-width:100%;padding:8px 10px;font-size:.85rem;flex-shrink:0}.extraction-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:0}.extraction-card-head h2{margin:0}.manual-form{width:100%;display:flex;flex-direction:column;gap:clamp(14px,2vw,20px)}.manual-entries-table{width:100%;overflow-x:auto;margin-bottom:4px;-webkit-overflow-scrolling:touch;container-type:inline-size}.btn-append-item{background:transparent;border:1px dashed var(--border-color);color:var(--text-muted);width:100%;padding:clamp(10px,2vw,14px);border-radius:8px;cursor:pointer;margin-bottom:0;font-size:clamp(.8rem,1.6vw,.9rem);transition:border-color .2s,color .2s}.btn-append-item:hover{border-color:var(--primary-color);color:var(--text-main)}.extraction-comments-group{margin-bottom:0}.extraction-comments{min-height:80px;resize:vertical;font-size:clamp(.85rem,1.6vw,.95rem)}.extraction-totals-line{display:flex;justify-content:space-between;font-size:clamp(.85rem,1.5vw,.9rem);color:var(--text-muted);margin-bottom:8px}.extraction-totals-line--border{margin-bottom:0;padding-bottom:clamp(14px,2vw,20px);border-bottom:1px solid var(--border-color)}.extraction-grand-total{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:0;flex-wrap:wrap}.extraction-grand-total h2{margin:0;font-size:clamp(1.1rem,2.8vw,1.5rem)}.extraction-grand-total h2:last-of-type{color:var(--primary-color)}.extraction-form-actions{display:flex;gap:clamp(10px,2vw,16px);flex-wrap:wrap}.extraction-form-actions .btn--discard{flex:1 1 140px;background:#262626;color:var(--text-muted);min-height:48px}.extraction-form-actions .btn--submit{flex:2.5 1 220px;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.extraction-form-actions .btn{width:auto;max-width:100%}.card.context-card{display:grid;grid-template-columns:minmax(0,2fr) minmax(11rem,1fr);gap:12px 16px;align-items:start;padding:clamp(16px,2vw,20px)}.context-card__bottom{grid-column:1 / -1}.context-fields-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.form-group--compact{margin-bottom:0}.form-input.form-input--dense{padding:8px 10px;font-size:.9rem}.context-currency-select,.dashboard-currency-select{width:100%}.view-heading{margin-bottom:clamp(18px,2.4vw,32px)}.view-heading--tight{margin-bottom:0}.view-title{margin:0 0 6px;font-size:clamp(1.6rem,3vw,2rem)}.view-subtitle{margin:0;color:var(--text-muted);font-size:clamp(.9rem,1.4vw,1rem);line-height:1.5;max-width:70ch}.view-subtitle--compact{margin-bottom:clamp(16px,2vw,20px)}.card.essentials-card{position:relative;padding-bottom:0}.sticky-submit-bar__content{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 8px}.sticky-submit-bar__summary{min-width:0}.sticky-submit-bar__label{display:inline-block;font-size:.75rem;color:var(--text-muted);letter-spacing:.08em;font-family:var(--font-label)}.sticky-submit-bar__value{font-size:1.4rem;margin-top:2px}.sticky-submit-bar__button{width:auto;padding:14px 32px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.card.dashboard-empty-state{text-align:center;padding:clamp(40px,8vw,60px)}.dashboard-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:clamp(12px,2vw,18px)}.dashboard-currency-control{min-width:11rem;max-width:100%}.dashboard-currency-label{display:block;margin-bottom:4px;font-family:var(--font-label);font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em}.dashboard-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--layout-gap);margin-bottom:var(--section-gap)}.card.dashboard-stat{padding:clamp(20px,3vw,30px)}.dashboard-stat__label{margin-bottom:12px;font-family:var(--font-label);font-size:.75rem;color:var(--text-muted)}.dashboard-stat__value{margin:0 0 8px;font-size:clamp(2rem,4vw,3rem);overflow-wrap:anywhere}.dashboard-stat__meta{margin:0;color:var(--primary-color);font-size:.95rem}.dashboard-stat--accent{background:var(--primary-color);border:none;color:#000}.dashboard-stat--accent .dashboard-stat__label,.dashboard-stat--accent .dashboard-stat__meta{color:#000000a6}.dashboard-panels{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(18rem,1fr);gap:var(--layout-gap);margin-bottom:var(--section-gap)}.dashboard-panel__title{margin:0 0 16px}.dashboard-panel--centered .dashboard-panel__title{text-align:center}.dashboard-panel__canvas{width:100%;height:250px}.card.history-card{padding:clamp(18px,2.4vw,30px);container-type:inline-size}.history-card__head{margin-bottom:20px}.history-card__title{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 16px;margin-bottom:0}.history-card__sort{font-size:.8rem;color:var(--text-muted)}.history-card__sort-value{color:var(--primary-color)}.history-list{display:flex;flex-direction:column;gap:12px}.history-entry{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;background:#ffffff03}.history-entry__summary{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 16px;padding:14px 16px;background:#0003}.history-entry__summary--compact{align-items:center}.history-entry__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;flex:1 1 18rem;cursor:pointer}.history-entry__meta--static{cursor:default}.history-entry__date{color:var(--text-muted);font-size:.85rem}.history-entry__location{font-weight:600;overflow-wrap:anywhere}.history-entry__type{font-size:.72rem;padding:2px 7px;background:#ffffff12;border-radius:999px;color:var(--text-muted)}.history-entry__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px}.history-entry__total{font-weight:700;color:var(--primary-color);white-space:nowrap}.history-entry__total--static{font-weight:600;color:var(--text-main)}.history-entry__btn{background:transparent;border:1px solid var(--border-color);color:var(--text-muted);padding:4px 10px;border-radius:6px;font-size:.75rem;cursor:pointer}.history-entry__btn--danger{border-color:#ef4444;color:#ef4444}.history-entry__details{padding:16px;border-top:1px solid var(--border-color)}.history-table-wrap{overflow-x:auto}.history-table{width:100%;min-width:32rem;text-align:left;border-collapse:collapse}.history-table__head{color:var(--text-muted);font-family:var(--font-label);font-size:.75rem}.history-table th{padding-bottom:8px}.history-table th:last-child,.history-table td:last-child{text-align:right}.history-table__row{border-top:1px solid rgba(255,255,255,.05)}.history-table td{padding:8px 0}.history-table td:nth-child(2){font-size:.8rem;color:var(--text-muted)}.history-empty-state{padding:16px 0;text-align:center;color:var(--text-muted)}.btn-submit-icon{width:16px;height:16px;fill:currentColor;flex-shrink:0}@container (max-width: 72rem){.receipt-view-layout{grid-template-columns:1fr}}@container (max-width: 52rem){.context-card{grid-template-columns:1fr}.context-card__bottom{grid-column:auto}.context-fields-grid{grid-template-columns:1fr}.dashboard-toolbar{display:flex;flex-direction:column}.dashboard-metrics,.dashboard-panels{grid-template-columns:1fr}.dashboard-currency-control,.dashboard-currency-select{width:100%}}@container (max-width: 44rem){.receipt-upload-body{grid-template-columns:1fr}.sticky-submit-bar__content{flex-direction:column;align-items:stretch;padding:0}.sticky-submit-bar__button{width:100%}.history-entry__summary{flex-direction:column}.history-entry__actions{width:100%;justify-content:space-between}.history-entry__btn{flex:1 1 8rem}}@container (max-width: 34rem){.receipt-upload-head{grid-template-columns:1fr}.receipt-ocr-lang-row{justify-content:flex-start}.ocr-lang-select{width:100%;min-width:0}}#mobile-header{display:none;align-items:center;gap:12px;position:fixed;top:0;left:0;right:0;height:56px;background-color:var(--bg-sidebar);border-bottom:1px solid var(--border-color);padding:0 16px;z-index:2000}.mobile-logo{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;min-width:0;flex:1}.brand-logo-img--mobile{width:auto;max-width:min(200px,52vw);height:26px;object-fit:contain;object-position:left center}.mobile-logo .brand-tagline{font-size:.5rem;letter-spacing:.12em;text-align:left;color:var(--metal-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}#hamburger-btn{display:flex;flex-direction:column;justify-content:center;gap:5px;width:36px;height:36px;background:transparent;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;padding:7px 8px;flex-shrink:0}#hamburger-btn span{display:block;width:100%;height:2px;background-color:var(--text-muted);border-radius:2px;transition:all .3s ease;transform-origin:center}#hamburger-btn.open span:nth-child(1){transform:translateY(7px) rotate(45deg);background-color:var(--primary-color)}#hamburger-btn.open span:nth-child(2){opacity:0;transform:scaleX(0)}#hamburger-btn.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);background-color:var(--primary-color)}#sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1500;opacity:0;transition:opacity .3s ease}#sidebar-overlay.active{opacity:1}@media (max-width: 768px){#mobile-header{display:flex}#sidebar-overlay{display:block;pointer-events:none}#sidebar-overlay.active{pointer-events:auto}#spa-container{flex-direction:column;padding-top:56px;padding-bottom:max(24px,env(safe-area-inset-bottom))}aside{position:fixed;top:0;left:0;width:min(82vw,260px);height:100dvh;z-index:1800;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);border-right:1px solid var(--border-color);border-bottom:none;overflow-y:auto}aside.mobile-open{transform:translate(0);box-shadow:10px 0 40px #00000080}main{padding:clamp(12px,3vw,16px);width:100%;padding-bottom:max(32px,env(safe-area-inset-bottom))}.card{border-radius:12px;padding:var(--card-padding-tight);margin-bottom:12px}.paste-box-actions{flex-direction:column}.paste-action-btn{width:100%;min-height:44px}.essentials-row,.essentials-header-row{grid-template-columns:minmax(0,1.1fr) minmax(2.5rem,.38fr) minmax(3.25rem,.48fr) minmax(3.25rem,.52fr) minmax(2.75rem,.4fr)!important;gap:6px!important}.essentials-row>*:nth-child(6),.essentials-header-row>*:nth-child(6){display:none!important}.sticky-submit-bar{padding-bottom:max(24px,env(safe-area-inset-bottom))}#upload-view{grid-template-columns:1fr}#history-view .card{padding:12px}}.card{position:relative;background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:var(--card-padding);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;animation:fadeInUp .6s ease-out both;z-index:1}.form-input{width:100%;padding:12px 16px;background-color:var(--bg-sidebar);border:1px solid var(--border-color);border-radius:10px;color:var(--text-main);font-size:1rem;outline:none;transition:all .3s ease}.form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-tint-15)}.combobox-container{position:relative;width:100%}.dropdown-list{position:absolute;top:100%;left:0;right:0;background-color:var(--bg-card);border:1px solid var(--border-color);border-top:none;border-radius:0 0 10px 10px;margin:0;padding:4px 0;list-style:none;max-height:200px;overflow-y:auto;display:none;z-index:9999;box-shadow:0 10px 20px #0006}.dropdown-list.active{display:block}.dropdown-list li{padding:10px 16px;cursor:pointer;font-size:.9rem;color:var(--text-main);transition:background-color .2s ease}.dropdown-list li:hover{background-color:var(--bg-card-hover)}.dropdown-list li.no-match{color:var(--text-muted);font-style:italic;pointer-events:none}.category-group{margin-bottom:24px}.category-group h3{font-size:1.1rem;margin-bottom:12px;color:var(--primary-color);border-bottom:1px solid var(--border-color);padding-bottom:6px}.product-row label{font-size:.95rem;color:var(--text-main)}.manual-entry-row{display:grid;grid-template-columns:var(--manual-cols);gap:clamp(6px,1.2vw,10px);align-items:center;margin-bottom:8px;width:100%;min-width:0}.manual-entry-header{margin-bottom:12px;padding:0 clamp(4px,1vw,8px);font-family:var(--font-label);font-size:clamp(.62rem,1.1vw,.75rem);color:var(--text-muted);letter-spacing:.05em;width:100%;min-width:0}.manual-hdr-cell{min-width:0;line-height:1.25;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manual-hdr-cell--numeric,.manual-hdr-cell--action{text-align:right}.manual-entry-header .manual-hdr-cell:nth-child(1),.manual-entry-header .manual-hdr-cell:nth-child(2){text-align:left}.manual-entry-row .form-input,.manual-entry-row .manual-category,.manual-entry-row .manual-unit{min-width:0;width:100%;max-width:100%}.manual-entry-row input{padding:clamp(6px,1.2vw,8px)!important;font-size:clamp(.78rem,1.5vw,.95rem)}.manual-entry-row .manual-name{text-align:left}.manual-entry-row .manual-qty,.manual-entry-row .manual-price{text-align:center}input[type=number].manual-qty::placeholder,input[type=number].cat-qty::placeholder{color:var(--text-muted);opacity:1}input[type=number].manual-qty:placeholder-shown,input[type=number].cat-qty:placeholder-shown{color:var(--text-muted)}.manual-entry-row .unit-price-display{font-size:clamp(.62rem,1.05vw,.72rem);color:var(--text-muted);text-align:right;font-family:monospace;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manual-entry-row .del-row-btn{background:transparent;border:none;color:var(--text-muted);cursor:pointer;justify-self:end;width:auto;min-width:28px;padding:6px!important}@container (max-width: 46rem){.manual-entry-header{display:none}.manual-row{width:100%;grid-template-columns:repeat(6,minmax(0,1fr)) 2.35rem;grid-template-areas:"name name name name cat cat xdel" "qty unit price up up up xdel";gap:10px 12px;padding:12px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:#ffffff05;align-items:center}.manual-row .manual-name{grid-area:name;min-width:0}.manual-row .manual-category{grid-area:cat;min-width:0}.manual-row .manual-qty{grid-area:qty;min-width:0}.manual-row .manual-unit{grid-area:unit;min-width:0}.manual-row .manual-price{grid-area:price;min-width:0}.manual-row .unit-price-display{grid-area:up;align-self:center;justify-self:end;padding:0 4px 0 0;min-width:0}.manual-row .del-row-btn{grid-area:xdel;align-self:start;justify-self:end}}@container (max-width: 30rem){.manual-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 2.35rem;grid-template-areas:"name name name name cat cat xdel" "qty unit price up up up xdel";column-gap:6px;row-gap:8px;align-items:center;padding:10px}.manual-row .manual-name{grid-area:name;min-width:0}.manual-row .manual-category{grid-area:cat;min-width:0}.manual-row .manual-qty{grid-area:qty;min-width:0}.manual-row .manual-unit{grid-area:unit;min-width:0}.manual-row .manual-price{grid-area:price;min-width:0}.manual-row .unit-price-display{grid-area:up;align-self:center;justify-self:end;padding:0 2px 0 0;font-size:.65rem}.manual-row .del-row-btn{grid-area:xdel;align-self:start;justify-self:end;margin-top:2px}.manual-row .form-input,.manual-row select.form-input{font-size:clamp(.72rem,2.9vw,.82rem);padding:6px!important}}.card:nth-child(2){animation-delay:.2s}.card>h2{font-size:1.5rem;margin-bottom:20px;color:var(--text-main)}.card.dashboard-stat .dashboard-stat__value{margin:0 0 8px;font-size:clamp(2rem,4vw,3rem)}.card.dashboard-empty-state>h2{margin-bottom:0}.drop-zone{border:2px dashed var(--border-color);border-radius:12px;padding:clamp(16px,3.5vw,28px) clamp(12px,2.5vw,16px);min-height:clamp(128px,18vw,180px);text-align:center;cursor:pointer;transition:all .3s ease;background-color:#1e293b80;display:grid;place-items:center}.drop-zone:hover,.drop-zone.dragover{border-color:var(--primary-color);background-color:#3b82f61a}.drop-zone p{color:var(--text-muted);pointer-events:none}.paste-box{margin-top:0;padding:10px 10px 12px;border:1px solid var(--border-color);border-radius:10px;background:#ffffff05;display:flex;flex-direction:column;gap:12px}.paste-box-input{min-height:clamp(88px,18vh,140px);resize:vertical;width:100%;font-size:clamp(.78rem,1.6vw,.9rem)}#receipt-text-input{width:100%;max-width:100%;margin:0;box-sizing:border-box}.paste-box-actions{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.paste-action-btn{flex:1 1 min(100%,200px);min-height:44px;font-size:clamp(.8rem,1.5vw,.95rem)}.paste-action-btn.btn--muted{background:#262626;color:var(--text-muted)}.ocr-result{margin-top:0;padding:10px 12px;background-color:#1e293bcc;border-radius:8px;border-left:4px solid var(--primary-color);font-size:clamp(.82rem,1.5vw,.95rem)}.ocr-result-engine{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08);font-family:var(--font-label)}.ocr-result-engine__icon{font-size:1rem;line-height:1}.ocr-result-engine__title{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-main)}.ocr-result-engine__badge{font-size:.62rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:20px}.ocr-result-engine__badge--ready{background:var(--primary-tint-18);color:var(--primary-color)}.ocr-result-engine__badge--busy{background:#fbbf2426;color:#fbbf24}.ocr-result-engine__badge--error{background:#ef444426;color:#ef4444}.ocr-result-loader-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;padding:4px 0 2px}.ocr-result-loader-text{text-align:center;margin:0;font-size:.85rem;color:var(--text-muted)}.ocr-result-body{padding-top:2px}.ocr-result-lead{margin:0 0 6px;color:var(--text-main)}.ocr-result-summary{margin:0;font-size:.85rem;color:var(--success-color)}.ocr-result p{margin-bottom:8px;color:var(--text-main)}.ocr-result .price-highlight{font-size:1.5rem;font-weight:600;color:var(--success-color);margin-top:10px}.hidden{display:none}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;color:var(--text-muted);font-size:.9rem}.form-group input{width:100%;padding:12px 16px;background-color:var(--bg-sidebar);border:1px solid var(--border-color);border-radius:8px;color:var(--text-main);font-size:1rem;outline:none;transition:border-color .3s ease,box-shadow .3s ease}.form-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.btn{display:inline-block;width:100%;padding:14px 20px;font-size:1rem;font-weight:600;text-align:center;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s ease,transform .1s ease}.btn:active{transform:translateY(2px)}.primary-btn{background-color:var(--primary-color);color:var(--accent-cream)}.primary-btn:hover{background-color:var(--primary-hover)}.quick-scan-btn{background-color:var(--primary-tint-10);color:var(--primary-color);margin-bottom:20px;font-family:var(--font-label);letter-spacing:.05em}.quick-scan-btn:hover{background-color:var(--primary-tint-20)}.loader{border:3px solid rgba(255,255,255,.1);border-radius:50%;border-top:3px solid var(--primary-color);width:24px;height:24px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.essentials-header-row{display:grid;grid-template-columns:minmax(5rem,1.45fr) minmax(3.25rem,.42fr) minmax(4.5rem,.55fr) minmax(4rem,.62fr) minmax(3.5rem,.48fr) minmax(4rem,.95fr);gap:10px;padding:0 8px 12px;font-family:var(--font-label);font-size:.72rem;color:var(--text-muted);letter-spacing:.1em;border-bottom:1px solid var(--border-color);margin-bottom:4px}.essentials-row{display:grid;grid-template-columns:minmax(5rem,1.45fr) minmax(3.25rem,.42fr) minmax(4.5rem,.55fr) minmax(4rem,.62fr) minmax(3.5rem,.48fr) minmax(4rem,.95fr);gap:10px;align-items:center;padding:4px 8px;border-radius:4px;transition:background .15s}.essentials-row:hover{background:#ffffff08}.essentials-row .form-input,.essentials-row select.form-input{min-width:0}.essentials-row .cat-qty,.essentials-row .cat-price{text-align:center}.cat-unit-price-display{font-size:clamp(.68rem,1.2vw,.75rem);color:var(--text-muted);text-align:right;font-family:monospace;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}.ess-item-name{font-size:.9rem;color:var(--text-main);padding:0 4px}.sticky-submit-bar{position:sticky;bottom:0;background:linear-gradient(to top,var(--bg-main) 70%,transparent);padding:20px 0 4px;z-index:100;margin-top:16px}.clf-panel{background:linear-gradient(135deg,var(--primary-tint-04) 0%,rgba(20,20,22,.95) 60%);border:1px solid var(--primary-tint-20);border-radius:14px;margin-bottom:24px;overflow:hidden;box-shadow:0 4px 24px var(--primary-tint-06);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:box-shadow .3s ease}.clf-panel:hover{box-shadow:0 6px 32px var(--primary-tint-10)}.clf-header{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid var(--primary-tint-12);cursor:default}.clf-header-left{display:flex;align-items:center;gap:10px}.clf-icon{font-size:1.1rem;line-height:1}.clf-title{font-family:var(--font-label);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-main)}.clf-badge-status{font-family:var(--font-label);font-size:.65rem;letter-spacing:.06em;padding:2px 8px;border-radius:20px;text-transform:uppercase}.clf-badge--idle{background:#88888826;color:var(--text-muted)}.clf-badge--loading{background:#fbbf2426;color:#fbbf24;animation:clf-pulse 1.5s ease-in-out infinite}.clf-badge--ready{background:var(--primary-tint-18);color:var(--primary-color)}.clf-badge--error{background:#ef444426;color:#ef4444}@keyframes clf-pulse{0%,to{opacity:1}50%{opacity:.5}}.clf-collapse-btn{background:transparent;border:none;cursor:pointer;color:var(--text-muted);display:flex;align-items:center;padding:4px;border-radius:6px;transition:color .2s,transform .3s ease}.clf-collapse-btn:hover{color:var(--text-main)}.clf-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:12px;height:9px}.clf-row{display:flex;gap:8px;align-items:center}.clf-url-row{flex-wrap:wrap}.clf-scan-row{flex-wrap:wrap;align-items:stretch}.clf-url-input,.clf-scan-input{flex:1;min-width:0;padding:9px 14px!important;font-size:.85rem!important;font-family:var(--font-label)!important;border-color:var(--primary-tint-20)!important}.clf-scan-input{min-height:96px;resize:vertical}.clf-url-input:focus,.clf-scan-input:focus{border-color:var(--primary-color)!important;box-shadow:0 0 0 3px var(--primary-tint-15)!important}.clf-btn{width:auto!important;white-space:nowrap;padding:9px 16px!important;font-size:.8rem!important;font-family:var(--font-label)!important;letter-spacing:.04em;border-radius:8px!important;flex-shrink:0}.clf-btn--init{min-width:96px;transition:background-color .3s}.clf-btn--ready{background-color:var(--primary-tint-20)!important;color:var(--primary-color)!important}.clf-btn--refresh{background:#ffffff0d!important;color:var(--text-muted)!important;border:1px solid var(--border-color)!important;width:36px!important;padding:9px 8px!important;font-size:1rem!important;flex-shrink:0}.clf-btn--refresh:hover{color:var(--text-main)!important;border-color:var(--primary-color)!important}.clf-btn--classify{min-width:90px}.clf-progress-track{display:flex;flex-direction:column;gap:6px}.clf-progress-bar{width:100%;height:4px;background:#ffffff12;border-radius:4px;overflow:hidden}.clf-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--accent-cheddar));border-radius:4px;transition:width .4s ease;box-shadow:0 0 8px var(--primary-glow)}.clf-progress-label{font-family:var(--font-label);font-size:.72rem;color:var(--text-muted);letter-spacing:.04em}.clf-status{font-size:.8rem;font-family:var(--font-label);padding:6px 10px;border-radius:6px;letter-spacing:.02em}.clf-status--info{color:var(--text-muted);background:transparent}.clf-status--success{color:var(--success-color);background:#4f79421f}.clf-status--error{color:#ef4444;background:#ef444414}.clf-result-badge{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 14px;background:var(--primary-tint-06);border:1px solid var(--primary-tint-15);border-radius:10px;animation:fadeInUp .3s ease-out both}.clf-cat-chip{font-family:var(--font-label);font-size:.8rem;font-weight:600;color:var(--accent-cream);background:var(--primary-color);padding:3px 12px;border-radius:20px;letter-spacing:.04em}.clf-meta{font-family:var(--font-label);font-size:.72rem;color:var(--text-muted);letter-spacing:.02em}.clf-matched{font-style:italic;color:#888888b3}@media (max-width: 768px){.clf-panel{margin-bottom:16px}.clf-url-row{flex-direction:column;align-items:stretch}.clf-btn--refresh,.clf-btn{width:100%!important}.clf-scan-row{flex-wrap:wrap}.clf-btn--classify{width:100%!important}}
