*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--blue: #007AC9;--black: #0F0F0F;--white: #FFFFFF;--gray-100: #F4F4F4;--gray-200: #E5E5E5;--gray-400: #A0A0A0;--gray-600: #666666;--red: #C0392B;--radius: 6px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--gray-100);color:var(--black);min-height:100vh;font-size:14px;line-height:1.5}.app-header{background:var(--black);height:52px;display:flex;align-items:center;position:sticky;top:0;z-index:100}.app-header-inner{max-width:1400px;width:100%;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;gap:1.25rem}.app-logo{font-size:1.1rem;font-weight:800;color:var(--blue);letter-spacing:.08em;text-transform:uppercase}.app-title{font-size:1rem;font-weight:500;color:var(--white)}.app-main{max-width:1400px;margin:0 auto;padding:1.5rem}.upload-hero{margin:-1.5rem -1.5rem 0;padding:5rem 2rem 4rem;background:linear-gradient(145deg,#007ac9,#000);text-align:center;position:relative;overflow:hidden}.upload-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(150deg,#ffffff2e,#fff0 55%);pointer-events:none}.upload-hero-title{position:relative;font-size:clamp(2.4rem,6vw,4rem);font-weight:800;color:var(--white);line-height:1.1;letter-spacing:-.02em;margin-bottom:1rem}.upload-hero-sub{position:relative;font-size:.95rem;color:#ffffffb3;line-height:1.6;max-width:380px;margin:0 auto}.upload-options{max-width:480px;margin:2rem auto 0}.upload-options{display:flex;flex-direction:column;gap:.75rem}.upload-option{border-radius:12px;padding:1.4rem;position:relative;overflow:hidden}.upload-option:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(150deg,#ffffff38,#fff0 55%);border-radius:inherit;pointer-events:none;z-index:0}.upload-option>*{position:relative;z-index:1}.upload-option--camera{background:linear-gradient(145deg,#007ac9,#000);box-shadow:inset 0 1px #ffffff52,0 8px 24px #00000073;border:none}.upload-option--upload{background:linear-gradient(145deg,#001829,#0f0f0f);box-shadow:inset 0 1px #ffffff1a,0 8px 24px #00000073;border:none}.upload-option--manual{background:linear-gradient(145deg,#fff,#f5f5f5 60%,#ebebeb);box-shadow:inset 0 1px #ffffffe6,0 4px 14px #00000017;border:1px solid rgba(0,0,0,.07)}.upload-option-heading{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;margin-bottom:.35rem}.upload-option--camera .upload-option-heading{color:#ffffffa6}.upload-option--upload .upload-option-heading{color:#ffffff73}.upload-option--manual .upload-option-heading{color:var(--gray-400)}.upload-option-desc{font-size:.88rem;line-height:1.45;margin-bottom:1rem}.upload-option--camera .upload-option-desc{color:#ffffffeb}.upload-option--upload .upload-option-desc{color:#fffc}.upload-option--manual .upload-option-desc{color:var(--gray-600)}.upload-option--upload .upload-zone{border-color:#ffffff38;color:#ffffffa6;background:#ffffff0a}.upload-option--upload .upload-zone:hover,.upload-option--upload .upload-zone.active{border-color:#ffffff8c;background:#ffffff17}.upload-option--upload .upload-link{color:#ffffffe6}.upload-option--upload .upload-zone small{color:#ffffff61}.upload-zone{border:2px dashed var(--gray-400);border-radius:10px;padding:2rem 1.5rem;text-align:center;cursor:pointer;background:var(--white);transition:border-color .15s,background .15s;color:var(--gray-600)}.upload-zone:hover,.upload-zone.active{border-color:var(--blue);background:#f0f8ff}.upload-zone.loading{cursor:not-allowed;opacity:.6}.upload-link{color:var(--blue);text-decoration:underline;cursor:pointer}.upload-zone small{display:block;margin-top:.4rem;font-size:.78rem;color:var(--gray-400)}.split-layout{display:grid;grid-template-columns:420px 1fr;gap:1.5rem;align-items:start}.split-form{display:flex;flex-direction:column;gap:.75rem}.split-preview{min-width:0}.preview-sticky{position:sticky;top:68px}.preview-header-bar{background:var(--black);color:var(--white);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:.4rem .75rem;border-radius:var(--radius) var(--radius) 0 0}.receipt-toggle-btn{display:block;width:100%;padding:.6rem;background:none;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:.88rem;color:var(--gray-600);cursor:pointer;transition:border-color .12s,color .12s;margin-top:.25rem}.receipt-toggle-btn:hover{border-color:var(--blue);color:var(--blue)}.split-layout--3col{grid-template-columns:420px 1fr minmax(0,380px)}.split-receipt{min-width:0}.receipt-img-wrap{background:linear-gradient(145deg,#001829,#0f0f0f);border-radius:0 0 var(--radius) var(--radius);padding:12px;display:flex;justify-content:center}.receipt-img{max-width:100%;height:auto;display:block;border-radius:4px;box-shadow:0 2px 8px #0000001f}.beleg-form section{background:var(--white);border-radius:var(--radius);padding:1.25rem;box-shadow:0 1px 3px #0000000f}.beleg-form h2{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--blue);margin-bottom:.9rem}.form-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.65rem}.form-row:last-child{margin-bottom:0}.form-row label{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:500;color:var(--gray-600);flex:1;min-width:160px}.form-row label.full-width{flex:1 1 100%;min-width:0}.form-row input,.form-row textarea{padding:.45rem .65rem;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:.9rem;font-family:inherit;color:var(--black);width:100%;transition:border-color .12s,box-shadow .12s;background:var(--white)}.form-row input:focus,.form-row textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #007ac91f}.form-row textarea{resize:vertical}.error{color:var(--red);font-size:.75rem;margin-top:.15rem}.export-btn{display:block;width:100%;padding:.75rem;background:var(--blue);color:var(--white);border:none;border-radius:var(--radius);font-size:.95rem;font-weight:600;cursor:pointer;transition:background .12s;margin-top:.25rem}.export-btn:hover:not(:disabled){background:#005fa0}.export-btn:disabled{opacity:.55;cursor:not-allowed}.back-btn{background:none;border:none;color:var(--blue);cursor:pointer;font-size:.85rem;padding:0;width:fit-content}.back-btn:hover{text-decoration:underline}.em-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:500;display:flex;align-items:center;justify-content:center;padding:1rem;animation:em-fade-in .15s ease}@keyframes em-fade-in{0%{opacity:0}to{opacity:1}}.em-card{background:var(--white);border-radius:12px;padding:2rem 2rem 1.75rem;max-width:400px;width:100%;display:flex;flex-direction:column;align-items:center;gap:.85rem;text-align:center;box-shadow:0 20px 60px #0003;animation:em-slide-up .18s ease}@keyframes em-slide-up{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.em-icon svg{width:52px;height:52px}.em-title{font-size:1.05rem;font-weight:700;color:var(--black);margin:0}.em-message{font-size:.875rem;color:var(--gray-600);line-height:1.55;margin:0}.em-close-btn{margin-top:.4rem;padding:.55rem 2rem;background:var(--black);color:var(--white);border:none;border-radius:var(--radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .12s}.em-close-btn:hover{background:#333}.error-banner{background:#fdecea;color:var(--red);border:1px solid #f5c6c2;border-radius:var(--radius);padding:.7rem 1rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:center;font-size:.88rem}.error-banner button{background:none;border:none;cursor:pointer;color:var(--red);font-size:.9rem;margin-left:.75rem}.pv-doc{background:var(--white);border-radius:0 0 var(--radius) var(--radius);box-shadow:0 2px 12px #0000001a;padding:10px 12px 12px;font-family:Arial,Helvetica,sans-serif;font-size:10pt;color:var(--black)}.pv-header{margin-bottom:8px;overflow:hidden}.pv-logo{float:right;height:28px;width:auto;margin-left:8px}.pv-h1{font-size:13pt;font-weight:700;margin:0 0 1px;color:var(--black);line-height:1.2}.pv-sub-de{font-size:8pt;color:var(--black);margin:1px 0;line-height:1.3}.pv-h2-en{font-size:13pt;font-weight:700;margin:2px 0 1px;color:var(--blue);line-height:1.2}.pv-sub-en{font-size:8pt;color:var(--blue);margin:1px 0;line-height:1.3}.pv-legal{font-size:8pt;color:var(--black);margin:1px 0;line-height:1.3}.pv-table{width:100%;border-collapse:collapse;table-layout:fixed}.pv-table-1 .pv-col-label{width:27%}.pv-table-1 .pv-col-content{width:73%}.pv-table-gap{height:8px}.pv-td{border:.75px solid var(--black);padding:4px 6px;vertical-align:top;overflow-wrap:break-word;word-break:break-word}.pv-lde{display:block;font-size:9.5pt;color:var(--black);line-height:1.3}.pv-len{display:block;font-size:8.5pt;color:var(--blue);line-height:1.3}.pv-mt{margin-top:5px}.pv-val{display:block;font-size:9.5pt;color:var(--black);margin-top:3px;white-space:pre-wrap;overflow-wrap:break-word}.pv-empty{color:var(--gray-400)!important}.pv-td-tall{min-height:48px}.pv-td-amount{text-align:right;font-size:9.5pt;vertical-align:middle}.pv-bold{font-weight:700}.pv-underline{text-decoration:underline}.pv-sig-space{height:36px}.pv-sig-label{font-size:9.5pt;color:var(--black)}.pv-sig-en{color:var(--blue)}.pv-sig-value{display:block;font-size:9.5pt;color:var(--black);line-height:1.3}.pv-sig-img-cell{vertical-align:middle}.pv-sig-img{max-height:32px;max-width:100%;object-fit:contain;display:block}.pv-footer{font-size:7.5pt;color:var(--gray-600);margin-top:6px;line-height:1.4}.pv-footer-link{color:#00f}.camera-input{display:none}.camera-btn{display:block;width:100%;padding:.75rem;background:var(--white);color:var(--blue);border:none;border-radius:var(--radius);font-size:.95rem;font-weight:600;cursor:pointer;transition:background .12s}.camera-btn:hover{background:#e8f4fd}.manual-btn{display:block;width:100%;padding:.6rem;background:none;border:1px solid var(--gray-200);border-radius:var(--radius);font-size:.88rem;color:var(--gray-600);cursor:pointer;transition:border-color .12s,color .12s}.manual-btn:hover{border-color:var(--blue);color:var(--blue)}.ae-overlay{display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:2.5rem 1.5rem;background:var(--white);border:1px solid #f5c6c2;border-radius:10px;text-align:center}.ae-icon svg{width:52px;height:52px}.ae-title{font-size:1rem;font-weight:700;color:var(--black);margin:0}.ae-message{font-size:.875rem;color:var(--gray-600);max-width:360px;line-height:1.5;margin:0}.ae-actions{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:280px;margin-top:.25rem}.ae-btn{padding:.6rem 1rem;border-radius:var(--radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .12s,border-color .12s;width:100%}.ae-btn-primary{background:var(--blue);color:var(--white);border:none}.ae-btn-primary:hover{background:#005fa0}.ae-btn-secondary{background:none;color:var(--gray-600);border:1px solid var(--gray-200)}.ae-btn-secondary:hover{border-color:var(--blue);color:var(--blue)}.analyzing-screen{display:flex;flex-direction:column;align-items:center;gap:2.25rem;padding:3rem 0 2rem}.analyzing-visual{position:relative;width:110px}.analyzing-svg{width:110px;height:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.1))}.analyzing-beam{animation:beam-sweep 2s cubic-bezier(.45,0,.55,1) infinite}@keyframes beam-sweep{0%{transform:translateY(2px);opacity:0}8%{opacity:1}92%{opacity:1}to{transform:translateY(92px);opacity:0}}.analyzing-glow{position:absolute;top:0;right:4px;bottom:0;left:4px;height:18px;border-radius:4px;background:linear-gradient(to bottom,#007ac900,#007ac92e,#007ac900);pointer-events:none;animation:glow-sweep 2s cubic-bezier(.45,0,.55,1) infinite}@keyframes glow-sweep{0%{top:2px;opacity:0}8%{opacity:1}92%{opacity:1}to{top:84px;opacity:0}}.analyzing-steps{display:flex;flex-direction:column;gap:.7rem;min-width:230px}.analyzing-step{display:flex;align-items:center;gap:.7rem;font-size:.87rem;color:var(--gray-400);transition:color .3s}.analyzing-step.active{color:var(--black);font-weight:500}.analyzing-step.done{color:#2a9d2a}.analyzing-dot{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--gray-200);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .3s,border-color .3s;background:var(--white)}.analyzing-step.active .analyzing-dot{border-color:var(--blue);background:var(--blue);animation:dot-pulse 1s ease-in-out infinite}.analyzing-step.done .analyzing-dot{background:#2a9d2a;border-color:#2a9d2a}@keyframes dot-pulse{0%,to{box-shadow:0 0 #007ac966}50%{box-shadow:0 0 0 5px #007ac900}}.sig-pad{display:flex;flex-direction:column;gap:.5rem}.sig-tabs{display:flex;gap:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--gray-200);width:fit-content}.sig-tab{background:var(--white);border:none;padding:.35rem .75rem;font-size:.8rem;font-weight:500;color:var(--gray-600);cursor:pointer;transition:background .12s,color .12s}.sig-tab+.sig-tab{border-left:1px solid var(--gray-200)}.sig-tab.active{background:var(--blue);color:var(--white)}.sig-tab:hover:not(.active){background:var(--gray-100)}.sig-draw-wrap{display:flex;flex-direction:column;gap:.4rem}.sig-canvas{display:block;width:100%;border:1px solid var(--gray-200);border-radius:var(--radius);cursor:crosshair;touch-action:none}.sig-row{display:flex;align-items:center;gap:.75rem}.sig-clear-btn{background:none;border:1px solid var(--gray-200);border-radius:var(--radius);padding:.25rem .6rem;font-size:.78rem;color:var(--gray-600);cursor:pointer;transition:border-color .12s}.sig-clear-btn:hover{border-color:var(--red);color:var(--red)}.sig-saved{font-size:.78rem;color:#2a9d2a}.sig-upload-wrap{display:flex;flex-direction:column;gap:.5rem}.sig-upload-label{display:inline-block;padding:.4rem .9rem;background:var(--blue);color:var(--white);border-radius:var(--radius);font-size:.82rem;font-weight:500;cursor:pointer;width:fit-content;transition:background .12s}.sig-upload-label:hover{background:#005fa0}.sig-file-input{display:none}.sig-img-preview{display:flex;align-items:center;gap:.75rem}.sig-preview-img{max-height:60px;max-width:220px;object-fit:contain;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white)}@media (max-width: 900px){.split-layout{grid-template-columns:1fr}.preview-sticky{position:static}}
