.vision-head{align-items:flex-end}.vision-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:16px}.vision-capture-card,.vision-info-card{padding:22px}.vision-card-head h2{margin:5px 0 8px;font-size:24px}.vision-card-head p,.vision-info-card p{color:var(--muted);line-height:1.6}.vision-upload-form{display:grid;gap:16px;margin-top:18px}.vision-dropzone{position:relative;display:flex;min-height:230px;padding:24px;border:1.5px dashed color-mix(in srgb,var(--brand-accent) 55%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--brand-accent) 5%,var(--surface));align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;cursor:pointer;overflow:hidden}.vision-dropzone:hover{background:color-mix(in srgb,var(--brand-accent) 8%,var(--surface))}.vision-dropzone input[type=file]{position:absolute;inset:0;width:100%!important;height:100%!important;opacity:0;cursor:pointer}.vision-photo-preview{width:min(100%,520px);max-height:300px;object-fit:contain;border-radius:13px;box-shadow:0 8px 28px rgba(0,0,0,.08)}.vision-camera-mark{display:grid;width:54px;height:54px;border:1px solid var(--line);border-radius:16px;background:var(--surface);place-items:center;font-size:28px}.vision-dropzone strong{font-size:16px}.vision-dropzone small,.vision-file-name{color:var(--muted);font-size:10px}.vision-file-name{margin-top:4px;padding:5px 8px;border-radius:999px;background:var(--surface)}.vision-manual-separator{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:9px}.vision-manual-separator::before,.vision-manual-separator::after{content:"";height:1px;background:var(--line);flex:1}.vision-manual-field,.vision-extra-field{display:grid;gap:7px}.vision-manual-field>span,.vision-extra-field>span{font-size:10px;font-weight:800}.vision-manual-field textarea,.vision-extra-field textarea{width:100%;min-height:105px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);resize:vertical}.vision-manual-field small{color:var(--muted);font-size:9px}.vision-primary-action{min-height:46px}.vision-steps{display:grid;gap:12px;margin:18px 0}.vision-steps>div{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start}.vision-steps b{display:grid;width:32px;height:32px;border-radius:10px;background:var(--brand-accent);color:white;place-items:center;font-size:12px}.vision-steps span{display:grid;gap:3px}.vision-steps strong{font-size:11px}.vision-steps small{color:var(--muted);font-size:9px;line-height:1.45}.vision-status{display:grid;gap:4px;margin:16px 0;padding:13px;border:1px solid var(--line);border-radius:12px}.vision-status.ready{border-color:color-mix(in srgb,#41a66a 34%,var(--line));background:color-mix(in srgb,#41a66a 7%,var(--surface))}.vision-status.manual{background:var(--surface-2)}.vision-status strong{font-size:11px}.vision-status span,.vision-privacy{font-size:9px}.vision-resume{width:100%;margin-top:8px}.vision-review-panel{padding:20px}.vision-review-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:14px}.vision-review-head h2{margin:4px 0 0}.vision-review-table{display:grid;gap:8px}.vision-review-row{display:grid;grid-template-columns:110px minmax(210px,1.8fr) 110px 110px 95px 34px;gap:10px;align-items:end;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2)}.vision-review-row label:not(.vision-keep){display:grid;gap:5px}.vision-review-row label>span,.vision-confidence>span{font-size:8px;font-weight:800;color:var(--muted)}.vision-review-row input[type=text],.vision-review-row input:not([type]),.vision-review-row input[type=number]{width:100%;min-height:38px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text)}.vision-review-row label small{min-height:13px;color:var(--muted);font-size:8px;line-height:1.35}.vision-keep{display:flex!important;min-height:38px;align-items:center;gap:8px;padding:0!important}.vision-keep input[type=checkbox]{display:inline-block!important;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;max-height:16px!important;margin:0!important;padding:0!important;flex:0 0 16px!important;accent-color:var(--brand-accent)}.vision-keep span{margin:0!important;color:var(--text)!important;font-size:9px!important}.vision-confidence{display:grid;gap:6px;padding-bottom:9px}.vision-confidence strong{font-size:11px}.vision-remove-row{width:34px;height:38px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--muted);font-size:20px;cursor:pointer}.vision-remove-row:hover{color:#b23a31;border-color:color-mix(in srgb,#b23a31 35%,var(--line))}.vision-extra-field{margin-top:14px}.vision-review-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.vision-detected-strip{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:14px;padding:15px}.vision-detected-title{display:grid;gap:3px;min-width:120px}.vision-detected-title strong{font-size:15px}.vision-detected-list{display:flex;gap:6px;flex-wrap:wrap}.vision-detected-list span{padding:6px 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:9px}.vision-filter-panel .recommendation-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.vision-filter-panel .recommendation-check{min-height:44px}.vision-summary{margin-top:14px}.vision-result-list{margin-top:14px}@media(max-width:1100px){.vision-grid{grid-template-columns:1fr}.vision-review-row{grid-template-columns:100px minmax(180px,1fr) 100px 100px}.vision-confidence{grid-column:2}.vision-remove-row{grid-column:4;grid-row:2}.vision-filter-panel .recommendation-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.vision-capture-card,.vision-info-card,.vision-review-panel{padding:15px}.vision-dropzone{min-height:190px}.vision-review-head{align-items:stretch;flex-direction:column}.vision-review-row{grid-template-columns:1fr 1fr;gap:9px}.vision-review-row>label:nth-of-type(2){grid-column:1/-1}.vision-keep{grid-column:1}.vision-confidence{grid-column:1}.vision-remove-row{grid-column:2;grid-row:auto;justify-self:end}.vision-review-actions{display:grid;grid-template-columns:1fr}.vision-review-actions .button{width:100%}.vision-detected-strip{grid-template-columns:1fr}.vision-detected-strip form .button{width:100%}.vision-filter-panel .recommendation-filter-grid{grid-template-columns:1fr}}@media(max-width:460px){.vision-review-row{grid-template-columns:1fr}.vision-review-row>label,.vision-review-row>label:nth-of-type(2),.vision-keep,.vision-confidence,.vision-remove-row{grid-column:1}.vision-remove-row{justify-self:stretch;width:100%}.vision-dropzone{min-height:170px;padding:18px}.vision-head .button-row{display:grid;width:100%}.vision-head .button-row .button{width:100%}}

.vision-processing-card{max-width:760px;margin:24px auto;padding:34px;display:flex;gap:26px;align-items:flex-start}.vision-processing-spinner{width:52px;height:52px;border-radius:50%;border:5px solid rgba(154,108,72,.16);border-top-color:var(--brand-accent,#9a6c48);animation:vision-spin .9s linear infinite;flex:0 0 auto}.vision-processing-copy{min-width:0;flex:1}.vision-processing-copy h2{margin:6px 0 8px}.vision-processing-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.vision-processing-meta span{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:rgba(154,108,72,.08);font-size:12px;font-weight:700}.vision-processing-error{margin-top:18px;padding:14px 16px;border-radius:14px;background:rgba(176,55,55,.08);border:1px solid rgba(176,55,55,.18);color:#8f2f2f;line-height:1.45}.vision-processing-actions{margin-top:18px}@keyframes vision-spin{to{transform:rotate(360deg)}}@media(max-width:680px){.vision-processing-card{padding:22px;gap:16px}.vision-processing-spinner{width:42px;height:42px;border-width:4px}}
.vision-review-row{grid-template-columns:105px minmax(220px,1.7fr) 95px 95px minmax(150px,.9fr) minmax(125px,.8fr) 34px}
.vision-review-row select{width:100%;min-height:38px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text)}
.vision-stock-callout{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:12px 14px;border:1px solid color-mix(in srgb,#41a66a 28%,var(--line));border-radius:12px;background:color-mix(in srgb,#41a66a 7%,var(--surface))}
.vision-stock-callout strong{font-size:11px}.vision-stock-callout span{color:var(--muted);font-size:9px;line-height:1.45;text-align:right}
.vision-extra-field small{color:var(--muted);font-size:9px}.vision-review-actions-wide{flex-wrap:wrap}.vision-review-actions-wide .button.primary{min-width:250px}
.vision-usage-panel{margin-bottom:16px;padding:18px}.vision-usage-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px}.vision-usage-head h2{margin:4px 0 0;font-size:18px}.vision-usage-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.vision-usage-item{display:grid;gap:4px;padding:12px;border:1px solid color-mix(in srgb,#41a66a 28%,var(--line));border-radius:12px;background:color-mix(in srgb,#41a66a 6%,var(--surface))}.vision-usage-item.is-empty{border-color:var(--line);background:var(--surface-2)}.vision-usage-item strong{font-size:12px}.vision-usage-item span{font-size:10px;font-weight:800}.vision-usage-item small{color:var(--muted);font-size:9px;line-height:1.45}.vision-recipe-source{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:10px;padding:8px 10px;border:1px solid color-mix(in srgb,#41a66a 25%,var(--line));border-radius:10px;background:color-mix(in srgb,#41a66a 6%,var(--surface));font-size:9px}.vision-recipe-source strong{font-size:9px}.vision-recipe-source span{padding:4px 7px;border-radius:999px;background:var(--surface);font-weight:800}.vision-focus-empty{display:grid;gap:9px}.vision-focus-empty>span{color:var(--muted);line-height:1.55}.vision-focus-empty .button{justify-self:start}
@media(max-width:1180px){.vision-review-row{grid-template-columns:100px minmax(190px,1.6fr) 90px 90px minmax(145px,1fr)}.vision-confidence{grid-column:2}.vision-storage-field{grid-column:5}.vision-remove-row{grid-column:5;grid-row:2;justify-self:end}.vision-usage-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.vision-review-row{grid-template-columns:1fr 1fr}.vision-review-row>label:nth-of-type(2){grid-column:1/-1}.vision-storage-field{grid-column:1/-1}.vision-confidence{grid-column:1}.vision-remove-row{grid-column:2;grid-row:auto}.vision-stock-callout{align-items:flex-start;flex-direction:column}.vision-stock-callout span{text-align:left}.vision-usage-list{grid-template-columns:1fr}.vision-review-actions-wide .button.primary{min-width:0}}
@media(max-width:460px){.vision-storage-field{grid-column:1}.vision-usage-panel{padding:14px}}
.vision-review-row{grid-template-columns:105px minmax(210px,1.55fr) 90px 90px minmax(150px,.9fr) minmax(145px,.9fr) minmax(125px,.75fr) 34px}.vision-review-row input[type=date]{width:100%;min-height:38px;padding:8px 9px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--text)}.vision-expiry-field small{max-width:170px}@media(max-width:1280px){.vision-review-row{grid-template-columns:100px minmax(190px,1.5fr) 90px 90px minmax(145px,1fr) minmax(135px,1fr)}.vision-storage-field{grid-column:5}.vision-expiry-field{grid-column:6}.vision-confidence{grid-column:2}.vision-remove-row{grid-column:6;grid-row:2;justify-self:end}}@media(max-width:760px){.vision-review-row{grid-template-columns:1fr 1fr}.vision-review-row>label:nth-of-type(2){grid-column:1/-1}.vision-storage-field,.vision-expiry-field{grid-column:1/-1}.vision-confidence{grid-column:1}.vision-remove-row{grid-column:2;grid-row:auto}}@media(max-width:460px){.vision-expiry-field{grid-column:1}}
.vision-generic-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;padding:16px 18px}.vision-generic-callout>div:first-child{display:grid;gap:5px}.vision-generic-callout strong{font-size:14px}.vision-generic-callout p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}.vision-generic-summary{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.vision-generic-summary span{padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:9px;font-weight:800}.vision-generic-filter small{display:block;margin-top:5px;color:var(--muted);font-size:8px;line-height:1.4}
@media(max-width:760px){.vision-generic-callout{align-items:flex-start;flex-direction:column}.vision-generic-summary{justify-content:flex-start}}
