@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/archivo-latin-600-normal-3BBy0ZsW.woff2) format("woff2"),url(/assets/archivo-latin-600-normal-DwYieO8P.woff) format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/archivo-latin-700-normal-D9cHMWGj.woff2) format("woff2"),url(/assets/archivo-latin-700-normal-lT5TFe7H.woff) format("woff")}@font-face{font-family:Archivo;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/archivo-latin-800-normal-cB6v3kRN.woff2) format("woff2"),url(/assets/archivo-latin-800-normal-DZa_k145.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}:root{--bg: #0b0d10;--bg-2: #0f1217;--surface: #14181e;--surface-2: #1b2128;--surface-3: #232b34;--border: #2a323d;--border-strong: #3a4654;--text: #eef2f6;--muted: #8b95a3;--faint: #5d6775;--accent: #ff8c1a;--accent-d: #e07512;--accent-ink: #1a0f00;--ok: #34d399;--ok-ink: #052e1c;--danger: #f15a5a;--font-display: "Archivo", system-ui, sans-serif;--font-body: "IBM Plex Sans", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius: 14px;--radius-sm: 10px;--shadow: 0 10px 30px -12px rgba(0, 0, 0, .7);font-family:var(--font-body);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.app{display:flex;flex-direction:column;height:100dvh;background:radial-gradient(120% 60% at 0% 0%,rgba(255,140,26,.06),transparent 60%),var(--bg)}.app-bar{position:relative;padding:env(safe-area-inset-top) 18px 0;background:linear-gradient(180deg,var(--surface) 0%,var(--bg-2) 100%);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.logout-btn{flex-shrink:0;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.logout-btn:active{background:var(--surface-3);color:var(--text)}.app-bar h1{font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:.02em;text-transform:uppercase;margin:16px 0;display:flex;align-items:center;gap:10px}.app-bar h1:before{content:"";width:12px;height:12px;border-radius:3px;background:var(--accent);box-shadow:0 0 14px #ff8c1a99}.app-bar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:repeating-linear-gradient(-45deg,var(--accent) 0 10px,var(--bg-2) 10px 20px);opacity:.85}.content{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px;display:flex;flex-direction:column;gap:16px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.content>*{animation:rise .34s ease both}.content>*:nth-child(2){animation-delay:.05s}.header-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.header-panel-title{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.header-grid{display:grid;gap:14px}.field{display:flex;flex-direction:column;gap:7px;font-size:13px}.field>span{color:var(--muted);font-weight:500;font-size:12px;letter-spacing:.02em}.field input,.field select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:13px 14px;font-size:16px;font-family:var(--font-body);width:100%;transition:border-color .15s,box-shadow .15s,background .15s}.field input::placeholder{color:var(--faint)}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #ff8c1a2e;background:var(--bg-2)}.combobox-control{position:relative;display:flex}.combobox-control input{padding-right:40px}.combobox-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;background:none;border:none;color:var(--muted);border-radius:8px}.combobox-clear:active{color:var(--text);background:var(--surface-3)}.combobox-listbox{list-style:none;margin:0;padding:6px;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow);overflow-y:auto;z-index:70;animation:rise .14s ease both}.combobox-option{padding:12px;min-height:44px;display:flex;align-items:center;border-radius:8px;color:var(--text);font-size:15px;cursor:pointer}.combobox-option.active{background:var(--surface-3)}.combobox-option[aria-selected=true]{box-shadow:inset 3px 0 0 var(--accent);color:#fff}.combobox-add{color:var(--accent);font-weight:600;border-top:1px solid var(--border);border-radius:0 0 8px 8px;margin-top:4px}.combobox-add.active{background:#ff8c1a1f}.combobox-empty{padding:14px 12px;color:var(--faint);font-size:14px}.datefield-control{position:relative;display:flex}.datefield-control>input{padding-right:48px}.datefield-pick{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-size:19px;line-height:1;background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text);border-radius:8px;transition:background .12s}.datefield-pick:active{background:var(--accent)}.datefield-native{position:absolute;right:5px;bottom:0;width:38px;height:1px;padding:0;border:none;opacity:0;pointer-events:none}.stepper{display:flex;align-items:center;gap:8px}.stepper button{width:50px;height:50px;font-size:26px;font-family:var(--font-mono);background:var(--surface-3);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-sm);transition:background .12s}.stepper button:active{background:var(--accent);color:var(--accent-ink)}.stepper input{text-align:center;font-family:var(--font-mono);font-weight:600}.empty{color:var(--muted);text-align:center;padding:48px 16px;border:1px dashed var(--border);border-radius:var(--radius);font-size:15px}.rows{display:flex;flex-direction:column;gap:12px}.rows-summary{font-family:var(--font-mono);font-size:12px;letter-spacing:.03em;color:var(--muted);text-transform:uppercase}.row-card{display:flex;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);padding:14px;transition:border-color .15s,transform .05s}.row-card:active{transform:scale(.995)}.row-main{min-width:0;flex:1}.row-artikel{font-family:var(--font-display);font-weight:700;font-size:16px;margin-bottom:7px;word-break:break-word}.row-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.row-sub{font-size:12px;color:var(--faint);margin-top:7px}.badge{background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);font-weight:600;padding:2px 9px;border-radius:999px;font-size:11px}.row-actions{display:flex;flex-direction:column;gap:8px}.icon-btn{width:42px;height:42px;font-size:16px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);transition:background .12s}.icon-btn:active{background:var(--surface-3)}.icon-btn.danger{color:var(--danger)}.action-bar{display:flex;flex-direction:column;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(0deg,var(--surface) 0%,var(--bg-2) 100%);border-top:1px solid var(--border)}.action-row{display:flex;gap:10px;align-items:center}.action-row-secondary>*{flex:1}.btn-scan{width:100%;padding:17px;font-family:var(--font-display);font-size:17px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent-ink);background:var(--accent);border:none;border-radius:var(--radius);box-shadow:0 8px 22px -8px #ff8c1a99;transition:transform .05s,background .12s}.btn-scan:active{transform:scale(.98);background:var(--accent-d)}button{cursor:pointer;font-family:var(--font-body)}.btn-primary,.btn-secondary{padding:13px 14px;font-size:14px;font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--border-strong);transition:transform .05s,background .12s,opacity .12s}.btn-primary:active,.btn-secondary:active{transform:scale(.98)}.btn-primary{background:var(--ok);color:var(--ok-ink);border-color:transparent}.btn-secondary{background:var(--surface-2);color:var(--text)}button:disabled{opacity:.4;cursor:not-allowed}.btn-ghost{background:none;border:none;color:var(--text);font-size:15px}.link-btn{background:none;border:none;color:var(--accent);font-size:13px;font-weight:600;padding:4px 0;text-align:left}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#040609b3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-end;justify-content:center;z-index:50}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal{background:var(--bg-2);width:100%;max-width:560px;max-height:92dvh;overflow-y:auto;border-radius:18px 18px 0 0;border:1px solid var(--border-strong);border-bottom:none;padding:22px 18px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow);animation:sheet-up .26s cubic-bezier(.2,.8,.2,1) both}.modal h2{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:18px}.review-thumb{width:100%;max-height:200px;object-fit:contain;border-radius:var(--radius-sm);background:#000;border:1px solid var(--border)}.sticky-note{font-size:13px;color:var(--muted);background:var(--surface);border:1px solid var(--border);padding:11px 12px;border-radius:var(--radius-sm)}.sticky-note b{color:var(--text);font-family:var(--font-mono)}.raw-text{background:#000;color:#cbd5e1;font-family:var(--font-mono);font-size:12px;padding:12px;border-radius:var(--radius-sm);max-height:160px;overflow:auto;white-space:pre-wrap}.modal-actions{display:flex;gap:10px}.modal-actions button{flex:1;padding:15px;font-size:15px}.scanner-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:60;display:flex;flex-direction:column}.scanner-top{display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;color:#fff}.scanner-title{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.scanner-error{color:#fff;background:var(--danger);padding:12px;margin:0 16px;border-radius:var(--radius-sm);font-size:14px}.scanner-viewport{flex:1;position:relative;overflow:hidden}.scanner-video{width:100%;height:100%;object-fit:cover}.scanner-frame{position:absolute;top:12%;right:8%;bottom:12%;left:8%;border:3px solid var(--accent);border-radius:var(--radius);box-shadow:0 0 0 100vmax #0006;pointer-events:none}.scanner-busy{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#000000b8;color:#fff}.scanner-controls{display:flex;align-items:center;justify-content:space-between;padding:18px 24px calc(18px + env(safe-area-inset-bottom));background:#000}.btn-capture{width:74px;height:74px;border-radius:50%;background:#fff;border:5px solid var(--accent);transition:transform .05s}.btn-capture:active{transform:scale(.94)}.btn-capture:disabled{background:#64748b;border-color:#475569}.spinner{width:36px;height:36px;border-radius:50%;border:4px solid rgba(255,255,255,.25);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-screen{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(24px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom));background:radial-gradient(120% 60% at 0% 0%,rgba(255,140,26,.08),transparent 60%),var(--bg)}.login-card{position:relative;width:100%;max-width:380px;display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px 20px 22px;box-shadow:var(--shadow);overflow:hidden;animation:rise .34s ease both}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:repeating-linear-gradient(-45deg,var(--accent) 0 10px,var(--bg-2) 10px 20px)}.login-title{font-family:var(--font-display);font-weight:800;font-size:22px;letter-spacing:.02em;text-transform:uppercase;margin:4px 0 0}.login-sub{margin:0 0 6px;color:var(--muted);font-size:14px}.login-error{background:#f15a5a1f;border:1px solid var(--danger);color:var(--danger);padding:10px 12px;border-radius:var(--radius-sm);font-size:13px}.login-card .btn-scan{margin-top:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important}}
