*{box-sizing:border-box}body{margin:0;background:#f6f6f5;color:#242629;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;border-radius:10px;padding:12px 18px;background:#a91e17;color:#fff;font-weight:650}button:disabled{opacity:.45;cursor:not-allowed}.secondary{background:#f1f1f1;color:#292929;border:1px solid #e1e1e1}.top{height:75px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid #e7e7e7;padding:0 max(20px,calc((100vw - 1100px)/2))}.brand{display:flex;gap:12px;align-items:center}.mark{background:#a91e17;color:#fff;display:grid;place-items:center;width:43px;height:43px;border-radius:12px;font-size:24px}.brand strong{display:block;font-size:18px;line-height:1.2}.brand small{color:#777;font-size:12px}#userbar{display:flex;align-items:center;gap:12px}#userbar button{padding:8px 12px}main{max-width:1100px;margin:auto;padding:24px 20px 80px}nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}nav button{background:#fff;color:#333;border:1px solid #e2e2e2}nav button.active{background:#a91e17;color:#fff;border-color:#a91e17}h1{font-size:29px;line-height:1.2;margin:5px 0 10px;letter-spacing:-.7px}h2{font-size:20px;letter-spacing:-.3px}p{color:#65676b;margin:0 0 20px}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:800;color:#a91e17}.panel{background:#fff;border:1px solid #e6e6e6;border-radius:16px;padding:24px;margin-bottom:18px}.narrow{max-width:440px;margin:60px auto}label{display:block;font-weight:600;font-size:13px;margin:12px 0}input:not([type=checkbox]):not([type=file]),select,textarea{display:block;width:100%;border:1px solid #d9dadd;border-radius:10px;padding:12px;margin-top:6px;background:#fff;color:#252525}input:focus,textarea:focus,select:focus{outline:2px solid #e9b3b0;outline-offset:0}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stats .panel small{display:block;color:#6c6c6c}.stats .panel strong{font-size:30px}.item{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #eee;padding:16px 0}.item small{display:block;color:#747474;margin-top:3px}.item>div:last-child{text-align:right}.pill{display:inline-block;border-radius:20px;padding:4px 9px;font-size:12px;font-weight:700}.green{background:#e4f4e9;color:#176b38}.red{background:#fbe8e7;color:#a51d17}.orange{background:#fff0d8;color:#8c5200}.days button{background:#f1f1f1;color:#333;margin:4px;padding:7px 10px}.days button.selected{background:#a91e17;color:#fff}.year,.month{margin:10px 0 10px 15px}.summary{font-size:21px;font-weight:750}.hint{font-size:12px;color:#7b7b7b;margin-top:22px}#toast{display:none;position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#292929;color:#fff;border-radius:10px;padding:12px 18px;z-index:100;max-width:90vw}.camera-stage{height:min(62vh,620px);background:#191919;border-radius:18px;overflow:hidden;position:relative}.camera-stage video{width:100%;height:100%;object-fit:cover}.camera-frame{position:absolute;inset:8% 13%;border:2px solid #ffffffa0;border-radius:12px;pointer-events:none}.camera-message{position:absolute;inset:0;display:grid;place-items:center;color:white;background:#222a;text-align:center;padding:25px}.camera-message[hidden]{display:none}.scan-controls{display:flex;align-items:center;justify-content:center;gap:32px;padding:20px}.shutter{width:74px;height:74px;border-radius:50%;border:4px solid #a91e17;background:#fff;padding:5px;display:grid;place-items:center}.shutter span{width:52px;height:52px;border-radius:50%;background:#a91e17}.fallback{margin:0;font-size:13px;color:#555}.scan-bottom{max-width:550px;margin:auto}.scan-thumbs{display:flex;gap:8px;overflow:auto;padding:6px 0 14px}.thumb{position:relative;flex:0 0 54px;height:68px}.thumb img{width:100%;height:100%;object-fit:cover;border-radius:6px}.thumb span{position:absolute;bottom:0;right:0;background:#a91e17;color:#fff;padding:1px 6px;border-radius:5px}.wide{width:100%}.review-top{padding-top:15px}.review-card{background:#fff;border:1px solid #e5e5e5;border-radius:14px;padding:18px;margin-bottom:14px}.review-title{display:flex;justify-content:space-between;align-items:center}.receipt-image{width:100%;max-height:230px;object-fit:contain;background:#f4f4f4;border-radius:9px;margin-top:12px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.review-grid .full{grid-column:1/-1}.paid-label{align-self:center}.review-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;padding:12px 0 30px}[hidden]{display:none!important}@media(max-width:750px){main{padding:14px 14px 60px}.top{height:68px;padding:0 14px}.brand strong{font-size:16px}.brand small{font-size:11px}#userbar{gap:7px;font-size:13px}#userbar button{font-size:12px}nav{margin-bottom:18px}nav button{padding:10px 14px}h1{font-size:26px}.stats{grid-template-columns:1fr}.panel{padding:16px}.camera-stage{height:58vh;min-height:330px}.review-grid{grid-template-columns:1fr}.review-actions button{flex:1 1 100%}.item{flex-direction:column}.item>div:last-child{text-align:left}}
/* v0.5: kompakte Scan-App mit klarer Kameraführung */
.scan-feedback{display:flex;align-items:center;justify-content:center;gap:8px;color:#647067;font-size:12px;padding:4px 0 12px;text-align:center}.feedback-dot{width:7px;height:7px;background:#298154;border-radius:50%;flex:none}
.scan-count{font-weight:600;color:#50545a}.frame-label{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#141414b8;color:white;padding:6px 10px;border-radius:20px;font-size:12px}
.receipt-details{margin:10px 0;border-radius:10px;background:#f5f5f5;padding:10px 12px}.receipt-details summary{font-size:13px;font-weight:650;cursor:pointer}.receipt-details .receipt-image{max-height:250px}
@media(max-width:750px){
 body{background:#f7f7f7}main{padding:0 0 92px}.top{height:64px;padding:0 16px;border-bottom:1px solid #eee}.brand{gap:9px}.mark{width:36px;height:36px;border-radius:11px;font-size:20px}.brand strong{font-size:15px}.brand small{font-size:10px}#userbar{font-size:12px}#userbar button{padding:7px 9px;border-radius:9px}
 nav{position:fixed;bottom:0;left:0;right:0;z-index:40;background:#fff;border-top:1px solid #e6e6e6;padding:9px 12px calc(9px + env(safe-area-inset-bottom));margin:0;justify-content:center;gap:12px;box-shadow:0 -3px 16px #00000008}nav button{flex:1;max-width:210px;border-radius:12px;font-size:13px;padding:11px 12px}
 #scan{padding:15px 12px 25px}.scan-heading{padding:3px 5px 0}.scan-heading h1{font-size:25px;margin:4px 0}.scan-heading p{font-size:13px;margin-bottom:13px}.eyebrow{font-size:10px;letter-spacing:1.1px}
 .camera-stage{height:min(55dvh,530px);min-height:260px;border-radius:20px;background:#151515}.camera-frame{inset:5% 10%;border:2px solid #ffffffb3;border-radius:10px}.scan-controls{padding:13px 4px 8px;gap:25px;min-height:91px}.shutter{width:72px;height:72px;box-shadow:0 2px 8px #0002}.shutter span{width:50px;height:50px}.fallback{border-radius:10px;background:#fff;border:1px solid #ddd;padding:10px;font-size:12px}
 .scan-bottom{padding:0 3px}.scan-thumbs{padding:4px 0 12px}.thumb{flex-basis:46px;height:58px}.scan-bottom .wide{padding:14px;border-radius:13px}.review-top{padding:18px 4px 6px}.review-top h2{font-size:22px;margin:5px 0}.review-top p{font-size:13px;margin:0 0 12px}.review-card{padding:13px;border-radius:16px}.review-grid label{font-size:12px;margin:7px 0}.review-grid input,.review-grid select,.review-grid textarea{padding:11px!important}.review-title strong{font-size:15px}.review-title button{font-size:12px;padding:8px 10px}.review-actions{position:sticky;bottom:68px;background:#f7f7f7;padding:10px 0;z-index:20}.review-actions button{padding:13px}
 #archive,#dashboard,#expenses,#staff{padding:18px 14px}.panel{padding:15px}.hint{padding:0 5px;font-size:11px}
}

.ocr-state{font-size:11px;color:#6b6b6b;margin-left:auto;margin-right:10px}.ocr-warning{background:#fff4df;color:#79520c;border-radius:8px;padding:9px;font-size:12px;margin:8px 0}.review-title{gap:8px;flex-wrap:wrap}

/* v0.7: Belegkamera im schmalen Hochformat, mobile App statt Desktop-Formular */
.camera-stage{height:min(70dvh,720px);background:#121417}
.camera-frame{inset:5% auto;left:50%;transform:translateX(-50%);width:min(34%,190px);height:90%;border:2px solid #ffffffd9;border-radius:9px;box-shadow:0 0 0 100vmax #0005;overflow:hidden}
.camera-frame::before,.camera-frame::after{content:"";position:absolute;left:0;right:0;height:16px;border-left:4px solid #fff;border-right:4px solid #fff}
.camera-frame::before{top:0;border-top:4px solid #fff;border-radius:6px 6px 0 0}
.camera-frame::after{bottom:0;border-bottom:4px solid #fff;border-radius:0 0 6px 6px}
.frame-label{white-space:normal;text-align:center;width:calc(100% - 10px);font-size:11px;bottom:12px}
.camera-stage video{object-fit:cover}
.scan-thumbs .thumb{flex:0 0 42px;height:82px}.scan-thumbs .thumb img{object-fit:cover}
@media(max-width:750px){
 #scan{padding:9px 12px 18px}.scan-heading{padding:0 4px}.scan-heading h1{font-size:23px}
 .camera-stage{height:min(67dvh,670px);min-height:380px;border-radius:18px}
 .camera-frame{width:min(34%,160px);height:90%;inset:5% auto;left:50%}
 .scan-controls{min-height:82px;padding:7px 4px}.scan-feedback{font-size:11px;padding:2px 0 7px}
 .review-actions{bottom:74px}.review-card .receipt-image{max-height:200px}
}

/* 0.8.1: kompakter, breiter Scanrahmen und visuelle Aufnahmebestätigung */
.camera-frame{width:min(74%,370px);height:87%;inset:6.5% auto;left:50%;transform:translateX(-50%)}
.capture-success{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.72);width:100px;height:100px;border-radius:50%;background:#15803d;display:grid;place-items:center;opacity:0;pointer-events:none;z-index:5;transition:opacity .12s,transform .2s;box-shadow:0 8px 35px #0005}
.capture-success.show{opacity:1;transform:translate(-50%,-50%) scale(1)}
.capture-success svg{width:62px;height:62px;fill:none;stroke:#fff;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.shutter:disabled{opacity:.55}.scan-feedback{display:none}
@media(max-width:750px){.camera-frame{width:74%;height:87%;inset:6.5% auto;left:50%}}
