/* Capture controls are separate from the campaign's supplied artwork. */
.capture-reference{display:flex;align-items:center;gap:16px;max-width:350px;margin:18px auto;padding:15px;border:1px solid #e2bd67;border-radius:14px;background:#fff8e7;text-align:left}
.capture-reference-paper{flex:0 0 91px;display:flex;flex-direction:column;gap:8px;padding:12px 7px;border:2px dashed #22704a;border-radius:5px;background:#fff;color:#153e2b;text-align:center;font:700 7px/1.4 Arial,sans-serif}
.capture-reference-paper strong{font-size:11px}.capture-reference-paper i{height:3px;background:#dce6dd}.capture-reference-paper b{border-top:1px solid #bed0bc;padding-top:6px}
.app-card .capture-reference p{margin:0;font:500 12px/1.6 MontserratCampana,Arial,sans-serif;color:#264832}.capture-reference p strong{display:block;font-size:13px;margin-bottom:6px}.capture-reference p span{display:block}
.capture-inline-action{display:block;margin:10px auto;padding:10px 14px;min-height:44px;border:1px solid #d3ad59;border-radius:9px;background:#fff8e7;color:#174c32;font:600 12px/1.5 MontserratCampana,Arial,sans-serif;text-decoration:underline;cursor:pointer}
.capture-open{overflow:hidden}.receipt-capture-sheet{box-sizing:border-box;width:min(620px,calc(100% - 22px));max-height:94vh;max-height:94dvh;margin:auto;padding:20px;border:1px solid #ebcf8b;border-radius:20px;background:#fffdf5;color:#203e2c;overflow:auto;font:500 14px/1.55 MontserratCampana,Arial,sans-serif;text-align:left;box-shadow:0 24px 80px #0005}
.receipt-capture-sheet::backdrop{background:#10271de0}.receipt-capture-sheet[hidden],.receipt-capture-sheet [hidden],.capture-inline-action[hidden]{display:none!important}
.capture-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.capture-header h2{margin:0;font:700 clamp(20px,5vw,26px)/1.2 MontserratCampana,Arial,sans-serif;color:#154d32}.capture-close{flex:0 0 44px;width:44px;height:44px;border:1px solid #d6decb;border-radius:50%;background:#f2f5e9;color:#254f36;font:30px/1 Arial,sans-serif;cursor:pointer}
.receipt-capture-sheet p{margin:12px 0}.capture-camera-stage{position:relative;width:100%;height:min(53vh,510px);height:min(53dvh,510px);min-height:260px;border-radius:12px;overflow:hidden;background:#15231c}.capture-camera-stage video{display:block;width:100%;height:100%;object-fit:contain}.capture-camera-frame{position:absolute;inset:6% 12%;display:flex;flex-direction:column;justify-content:space-between;border:3px solid #ffe391;border-radius:10px;box-shadow:0 0 0 150px #0004;pointer-events:none}.capture-camera-frame span{align-self:center;margin:10px;padding:4px 7px;border-radius:4px;background:#143c2edb;color:#fff8df;font-size:10px;font-weight:700;letter-spacing:.08em}
.capture-primary,.capture-secondary{box-sizing:border-box;display:block;width:100%;min-height:48px;padding:13px 18px;margin:12px 0 0;border:1px solid #17623d;border-radius:10px;background:#17623d;color:white;font:700 15px/1.4 MontserratCampana,Arial,sans-serif;cursor:pointer}.capture-secondary{background:#fff8e7;color:#174d32;border-color:#dbc181}.receipt-capture-sheet button:disabled{opacity:.5;cursor:default}.receipt-capture-sheet button:focus-visible,.receipt-capture-sheet input:focus-visible,.capture-inline-action:focus-visible{outline:3px solid #bd6705;outline-offset:3px}
.capture-editor-viewport{padding:12px;max-height:54vh;max-height:54dvh;overflow:auto;border-radius:12px;background:#26392e;overscroll-behavior:contain}.capture-editor-stage{position:relative;max-width:100%;margin:0 auto;isolation:isolate;overflow:hidden;background:white}.capture-editor-stage img{display:block;width:100%;height:auto;max-width:none;user-select:none;-webkit-user-drag:none}.capture-crop-box{box-sizing:border-box;position:absolute;inset:0;border:2px solid #3bdb8b;box-shadow:0 0 0 20000px #07160fa8;pointer-events:none}.capture-handle{position:absolute;width:44px;height:44px;border:0;background:transparent;pointer-events:auto;touch-action:none;cursor:crosshair;padding:0}.capture-handle:after{content:'';position:absolute;width:17px;height:17px;border:4px solid #20cb76;background:#fff9}.corner-tl{left:0;top:0}.corner-tr{right:0;top:0}.corner-bl{left:0;bottom:0}.corner-br{right:0;bottom:0}.corner-tl:after{left:0;top:0;border-right:0;border-bottom:0}.corner-tr:after{right:0;top:0;border-left:0;border-bottom:0}.corner-bl:after{left:0;bottom:0;border-right:0;border-top:0}.corner-br:after{right:0;bottom:0;border-left:0;border-top:0}
.receipt-capture-sheet .capture-tip{font-size:12px;color:#4e654e}.capture-tools{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.capture-tools button{flex:1 1 auto;min-height:44px;padding:9px 11px;border:1px solid #bed0b4;border-radius:8px;background:#f0f5e8;color:#174d32;font:600 12px/1.4 MontserratCampana,Arial,sans-serif;cursor:pointer}.capture-range-controls{padding:12px;border:1px solid #d8e1cc;border-radius:10px;font-size:12px}.capture-range-controls summary{cursor:pointer;min-height:28px}.capture-range-controls fieldset{border:0;margin:12px 0 0;padding:0}.capture-range-controls legend{margin-bottom:10px;font-size:11px}.capture-range-controls label{display:flex;justify-content:space-between}.capture-range-controls input{display:block;box-sizing:border-box;width:100%;height:32px;margin:0 0 8px;padding:0;accent-color:#17623d}.capture-confirmation{display:flex;align-items:flex-start;gap:12px;margin:18px 0;padding:14px;border:1px solid #cfddc4;border-radius:10px;background:#f0f5e8;font-size:12px;cursor:pointer}.capture-confirmation input{flex:0 0 22px;box-sizing:border-box;width:22px;height:22px;padding:0;margin:1px 0;accent-color:#17623d}.capture-confirmation span{flex:1}.receipt-capture-sheet .capture-local-note{font-size:11px;color:#5b6f59}.capture-warning,.capture-error{padding:12px;border-radius:9px;background:#fff0c4;color:#6a4500;font-size:12px}.capture-error{background:#ffe7db;color:#8e2608}
@media(max-width:360px){.receipt-capture-sheet{padding:15px;width:calc(100% - 12px)}.capture-reference{gap:11px;padding:12px}.capture-reference-paper{flex-basis:76px}.app-card .capture-reference p{font-size:11px}}
