*{box-sizing:border-box}body{margin:0;font:17px system-ui,sans-serif;background:#f3f6fa;color:#183047}main{max-width:620px;margin:auto;padding:22px 18px}header{margin-bottom:20px}h1{font-size:30px;margin:10px 0}h2{font-size:22px}p{line-height:1.5}a{color:#155b9f}form,section{background:#fff;border:1px solid #d4dfe9;border-radius:12px;padding:18px;margin:16px 0}label{display:block;font-weight:600;margin-bottom:16px}input,select,button,.button{font:inherit;min-height:48px;border-radius:8px;width:100%}input,select{display:block;margin-top:7px;padding:11px;border:1px solid #899cac;background:white;color:#183047}button,.button{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;background:#155b9f;border:0;color:white;font-weight:700;text-decoration:none;cursor:pointer}button:disabled{opacity:.55;cursor:wait}.camera{position:relative;overflow:hidden;margin-top:22px}.camera input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;margin:0}#preview{max-width:100%;max-height:240px;object-fit:contain;display:block;margin:10px auto 20px}#preview[hidden],[hidden]{display:none!important}.hint,footer{font-size:14px;color:#526679}footer{margin-top:26px;line-height:1.5}.upload{border-bottom:1px solid #d4dfe9;padding:12px 0;overflow-wrap:anywhere}.upload:last-child{border-bottom:0}.upload strong{display:block}#status{font-weight:600}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e6a31d;outline-offset:3px}

footer button{margin-bottom:12px}#cameraLabel{font-size:21px}.camera{min-height:104px}#cardSummary{font-size:14px;color:#526679}

/* Compact photo entry; retain large touch targets and visible upload failures. */
main{padding:16px 18px}#captureForm{padding:14px;margin:10px 0}#person{margin:0 0 10px}#captureForm .camera{margin:0;min-height:84px}#status:empty,#filename:empty,#uploads:empty{display:none}footer{margin-top:12px}

footer .capture-remember-note{color:#52606d;background:#fffbea;border:1px solid #d9cb95;border-radius:8px;padding:9px 11px;margin:8px 0 0;line-height:1.25}

footer .launch-group{padding:14px;margin:10px 0}footer .launch-group button{margin:0;font-size:17px}

/* Two equally sized entry actions, plus quiet shortcut guidance. */
#person{margin:0 0 8px}footer .launch-group button{min-height:84px;font-size:21px}footer .install-help{margin:12px 0;font-size:14px}footer .install-button{cursor:pointer;font-weight:600;padding:8px 0;color:#3e566c}footer .install-help p{margin:8px 0}

/* Shared blue entry group, white navigation-style actions and quiet account name. */
#person{font-size:14px;font-weight:500;color:#111;text-align:center;margin:0 0 8px}
.entry-actions{display:grid;grid-template-columns:minmax(0,218px);justify-content:center;gap:16px;align-items:start;width:min(100%,250px);margin:10px auto 16px;padding:14px;background:#155b9f;border:2px solid #174a73;border-radius:12px}
.entry-actions:has(#captureForm[hidden]){grid-template-columns:minmax(0,218px);justify-content:center;width:min(100%,250px)}
.entry-actions #captureForm{width:auto;min-width:0;padding:0;margin:0;background:transparent;border:0;border-radius:0}
.entry-actions #captureForm .camera,.entry-actions #openFullBevGo{width:100%;min-height:64px;margin:0;padding:10px 12px;background:#fff;border:2px solid #174a73;border-radius:7px;color:#23415d;font-size:15px;font-weight:650;line-height:1.3;text-align:center}
#cameraLabel{font-size:15px}
.entry-actions .camera{transform:translateY(-2px);box-shadow:0 4px 0 #092f50,0 6px 10px #082d4840;transition:transform .08s,box-shadow .08s}
.entry-actions #captureForm .camera:active{transform:translateY(1px);box-shadow:0 1px 0 #092f50;background:#1760b8;color:#fff}
.entry-actions #openFullBevGo:active{background:#1760b8;color:#fff}
.entry-actions .camera:focus-within{outline:3px solid #ffdf7e;outline-offset:2px}
.entry-actions #filename{color:#fff;font-size:13px;overflow-wrap:anywhere}
@media(max-width:340px){.entry-actions{gap:10px;padding:10px}.entry-actions .camera,.entry-actions #openFullBevGo{padding:8px;font-size:14px}#cameraLabel{font-size:14px}}

/* Match the full workspace brand while keeping the entry account name small and black. */
.entry-header{min-height:86px;margin:0;padding:16px max(24px,calc((100vw - 1200px)/2));background:#112b45;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;font-family:Inter,Segoe UI,Arial,sans-serif}
.entry-header .brand{display:flex;flex-direction:column;gap:3px;min-width:0;color:#fff}
.entry-header .brand-product{font-size:15px;font-weight:750;letter-spacing:.12em;color:#c4d8eb}
.entry-header .brand-store{font-size:clamp(23px,3vw,30px);font-weight:800;line-height:1.15;overflow-wrap:anywhere}
.entry-header #person{margin:0;max-width:170px;padding:6px 9px;background:#f3f6fa;border:1px solid #b4c8dd;border-radius:6px;color:#111;font-size:13px;font-weight:500;line-height:1.3;text-align:right;overflow-wrap:anywhere}
@media(max-width:700px){.entry-header{padding:14px 18px;gap:8px}.entry-header #person{max-width:120px;font-size:12px}}

/* The existing capture controller scopes all nodes to main, including the header account name. */
body>main{max-width:none;padding:0}.entry-content{max-width:620px;margin:auto;padding:16px 18px}

/* Compact upload statuses; older originals remain available in collapsed History. */
#uploads{padding:8px 12px;margin:8px 0}
#uploads .capture-upload-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:6px 0;border-bottom:1px solid #d4dfe9;overflow-wrap:anywhere}
#uploads .capture-upload-row:last-child{border-bottom:0}
#uploads .capture-upload-row strong{grid-column:1;font-size:13px;font-weight:600;line-height:1.3;margin:0}
#uploads .capture-upload-row p{grid-column:1;font-size:12px;line-height:1.3;margin:0}
#uploads .capture-upload-row button{grid-column:2;grid-row:1 / span 2;align-self:center;width:auto;min-height:36px;margin:0;padding:4px 9px;font-size:12px;line-height:1.2}
#uploads .capture-upload-history{margin:4px 0 0;padding:2px 0 0;border-top:0}
#uploads .capture-upload-history>summary{cursor:pointer;font-size:13px;font-weight:600;line-height:1.4;padding:4px 0}

/* Saved-photo rows share the compact receipt action sizes and verified scan details. */
#uploads .capture-upload-row{position:relative;min-height:76px;padding:7px 0;grid-template-columns:minmax(0,1fr) 104px;gap:2px 8px;align-content:center}
#uploads .capture-upload-row>strong{display:flex;justify-content:space-between;gap:6px;min-width:0;font-size:14px;line-height:1.3;overflow-wrap:anywhere}
#uploads .capture-receipt-amount{flex:none;font-size:14px;font-weight:750;white-space:nowrap}
#uploads .capture-upload-row .capture-receipt-meta{font-size:11px;color:#111}
#uploads .capture-receipt-actions{grid-column:2;grid-row:1 / span 3;display:grid;grid-template-columns:48px 48px;gap:4px;align-items:center;justify-content:end}
#uploads .capture-upload-row .capture-receipt-action.is-details{grid-column:1 / -1;width:100%;height:26px;min-height:26px;font-size:11px}
#uploads .capture-upload-row .capture-receipt-action{grid-column:auto;grid-row:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;box-sizing:border-box;width:48px;height:48px;min-height:48px;padding:3px 2px;margin:0;border:2px solid currentColor;border-radius:8px;background:#fff;font-size:11px;font-weight:700;line-height:1.1;box-shadow:0 1px 2px #112b4520}
#uploads .capture-receipt-action b{font-size:24px;line-height:25px}
#uploads .capture-receipt-action.is-complete{color:#137232;background:#eefbf2}
#uploads .capture-receipt-action.is-add{color:#155ac4;background:#edf5ff}
#uploads .capture-receipt-action.is-add b{font-size:14px}
#uploads .capture-receipt-action:focus-visible{outline:3px solid #155ac4;outline-offset:2px}
.capture-photo-viewer{box-sizing:border-box;width:min(640px,calc(100vw - 20px));max-height:calc(100dvh - 20px);padding:12px;overflow:auto;border:2px solid #174a73;border-radius:8px}
.capture-photo-viewer img{display:block;max-width:100%;max-height:75dvh;object-fit:contain;margin:8px auto}
.capture-photo-viewer>button{min-height:40px;padding:6px 12px}

/* Save the retained device copy through the platform share/download control. */
#uploads .capture-receipt-actions .capture-receipt-action.is-details{grid-column:1;color:#174a73;}

/* Keep history compact; photo-copy actions belong to the image viewer only. */
#uploads .capture-receipt-actions .capture-receipt-action.is-details{grid-column:1 / -1;color:#174a73;}
.capture-viewer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.capture-viewer-actions h3{margin:0;flex:1;font-size:17px}
.capture-viewer-actions>button,.capture-details-dialog button{width:auto;min-height:40px;padding:6px 12px;border:2px solid #174a73;border-radius:8px;color:#174a73;background:#fff;font:600 14px system-ui;cursor:pointer}
.capture-details-dialog{box-sizing:border-box;width:min(520px,calc(100vw - 20px));max-height:calc(100dvh - 20px);overflow:auto;padding:12px;border:2px solid #174a73;border-radius:8px;background:#fff;color:#132f48;font:14px system-ui}
.capture-details-dialog label{display:flex;flex-direction:column;gap:3px;margin:9px 0}
.capture-details-dialog input{box-sizing:border-box;width:100%;min-height:42px;padding:7px;border:1px solid #71889b;border-radius:5px;font:16px system-ui}
.capture-details-dialog .capture-details-confirm{flex-direction:row;align-items:flex-start;gap:7px;font-size:12px;line-height:1.4}
.capture-details-confirm input{width:20px;min-width:20px;min-height:20px;height:20px;margin:0}
.capture-details-dialog [data-result]{font-size:12px;line-height:1.4}

/* Selected-photo coding remains on the capture page. Save stays visible on phones. */
.capture-details-dialog .capture-viewer-actions{position:sticky;top:-12px;z-index:2;background:#fff;padding:8px 0;border-bottom:1px solid #d5dfe6;flex-wrap:nowrap}
.capture-details-dialog .capture-viewer-actions button{flex:none}
.capture-coding-dialog select,.capture-coding-dialog textarea{box-sizing:border-box;width:100%;min-height:42px;padding:7px;border:1px solid #71889b;border-radius:5px;font:16px system-ui}
.capture-coding-dialog textarea{min-height:65px}
.capture-coding-dialog [data-note]{font-size:12px;margin:4px 0;color:#46596a}
.capture-coding-dialog .capture-coding-search{margin:0 0 3px;min-height:34px;font-size:14px}

.receipt-duplicate-dialog{width:min(900px,calc(100vw - 20px))}
.receipt-duplicate-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:-12px;background:white;z-index:3}
.receipt-duplicate-dialog h2{font-size:17px}.receipt-duplicate-dialog select,.receipt-duplicate-dialog textarea{box-sizing:border-box;width:100%;font:15px system-ui;padding:8px;border:1px solid #71889b;border-radius:5px}
.receipt-duplicate-dialog .duplicate-comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.receipt-duplicate-dialog .duplicate-original{max-width:100%;max-height:380px;object-fit:contain}
.receipt-duplicate-dialog .duplicate-confirm{display:flex;flex-direction:row;align-items:flex-start}.receipt-duplicate-dialog .duplicate-confirm input{width:20px;min-height:20px;flex:none}
.receipt-duplicate-dialog .duplicate-warning{color:#9c271c}.receipt-duplicate-tabs{display:flex;gap:4px;flex-wrap:wrap}.receipt-duplicate-dialog .hint{font-size:12px}
@media(max-width:540px){.receipt-duplicate-dialog .duplicate-comparison-grid{grid-template-columns:1fr}}

/* The capture category uses the same list picker as Receipt Management. */
.capture-coding-dialog.capture-picker-active{height:min(70dvh,560px)}
.capture-coding-dialog .coding-picker-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;text-align:left}
.capture-coding-dialog .coding-picker-trigger span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.capture-coding-dialog .coding-picker-popup[hidden]{display:none!important}
.capture-coding-dialog .coding-picker-overlay{position:absolute;inset:6px;z-index:5;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:7px;padding:10px;border:2px solid #163f6d;border-radius:9px;overflow:hidden;background:#fff;box-shadow:0 4px 20px #112b4533}
.capture-coding-dialog .coding-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.capture-coding-dialog .coding-picker-heading button{min-height:34px;padding:5px 12px}
.capture-coding-dialog .coding-search{width:100%;min-height:40px;margin:0;box-sizing:border-box;font-size:16px}
.capture-coding-dialog .coding-matches{min-height:0;overflow:auto;border:1px solid #bccddd;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.capture-coding-dialog .coding-matches button{display:block;width:100%;min-height:40px;padding:8px 10px;margin:0;border:0;border-bottom:1px solid #dce4ea;border-radius:0;background:#f1f7ff;color:#173e65;text-align:left;font-size:14px;font-weight:500;white-space:normal;touch-action:pan-y}
.capture-coding-dialog .coding-matches button[aria-selected="true"],.capture-coding-dialog .coding-matches button:focus-visible{background:#dbeaff}
.capture-coding-dialog .coding-matches p{margin:0;padding:8px}

/* Shared receipt control dimensions, including the standalone capture page. */
:root{--receipt-action-width:max(56px,3.5rem);}
#uploads .capture-upload-row .capture-receipt-action:not(.is-details){box-sizing:border-box;flex:0 0 var(--receipt-action-width);width:var(--receipt-action-width);min-width:var(--receipt-action-width);max-width:var(--receipt-action-width);padding:3px 4px;white-space:nowrap;word-break:normal;overflow-wrap:normal;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
#uploads .capture-receipt-action>span{white-space:nowrap;word-break:normal;overflow-wrap:normal;flex-shrink:0;}
#uploads .capture-upload-row{grid-template-columns:minmax(0,1fr) calc(var(--receipt-action-width) + var(--receipt-action-width) + 4px);}
#uploads .capture-receipt-actions{grid-template-columns:repeat(2,var(--receipt-action-width));}
@media(max-width:360px){#uploads .capture-receipt-actions{grid-column:1/-1;grid-row:auto;}#uploads .capture-upload-row{grid-template-columns:minmax(0,1fr);}}

/* Receipt upload progress: external stylesheet required by the existing CSP. */
.receipt-upload-progress{position:fixed;top:calc(env(safe-area-inset-top,0px) + 68px);left:50%;transform:translateX(-50%);width:min(90vw,30rem);box-sizing:border-box;z-index:2147483000;display:flex;gap:10px;align-items:center;padding:12px 16px;border:1px solid #a88925;border-radius:10px;background:#fff4bf;color:#302604;box-shadow:0 3px 14px #0003;font:600 16px/1.35 system-ui;pointer-events:none}.receipt-upload-progress b{display:block}.receipt-upload-progress small{font-weight:400}.receipt-upload-progress i{flex:none;width:20px;height:20px;border:3px solid #c5b56a;border-top-color:#544000;border-radius:50%;animation:receipt-upload-spin .8s linear infinite}.receipt-upload-progress.is-error{background:#fff0ee;border-color:#b63b28;color:#742619;pointer-events:auto}.receipt-upload-progress button{margin-left:auto;font:inherit;padding:8px}.receipt-upload-progress.is-error i{display:none}@keyframes receipt-upload-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.receipt-upload-progress i{animation:none}}

/* Saved local dispute stays visible on the capture/Open BevGo page. */
#uploads .capture-upload-row.is-disputed{background:#fff8d8;border:1px solid #c4a553;border-radius:8px;padding:10px;}
#uploads .capture-upload-row>.capture-disputed-label{display:block;grid-column:2;grid-row:4;justify-self:start;box-sizing:border-box;min-width:108px;max-width:100%;border:1px solid #b08a26;border-radius:5px;padding:4px 8px;background:#fff0ae;color:#3b2e05;font-size:12px;font-weight:700;text-align:center;}
@media(max-width:360px){#uploads .capture-upload-row>.capture-disputed-label{grid-column:1;grid-row:auto;}}
