:root{--primary:#4ade80;--primary-hover:#22c55e;--secondary:#3b82f6;--secondary-hover:#2563eb;--danger:#ef4444;--danger-hover:#dc2828;--bg-dark:#121212;--bg-card:#1e1e1e;--text-light:#f3f4f6;--text-muted:#9ca3af;--border:#374151;--radius:12px;--shadow:0 10px 25px #00000080}*{box-sizing:border-box;margin:0;padding:0}a,button,input,select,textarea,[role=button],.tab-btn{-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background-color:var(--bg-dark);color:var(--text-light);min-height:100dvh;padding:10px;padding-top:max(10px, env(safe-area-inset-top));padding-bottom:env(safe-area-inset-bottom);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;font-family:Inter,sans-serif;line-height:1.5;display:flex;overflow-x:hidden}@media (width>=400px){body{padding:20px}}.app-container{background-color:var(--bg-card);border-radius:var(--radius);width:100%;max-width:500px;box-shadow:var(--shadow);border:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);position:relative;overflow:hidden}header{padding:20px;padding-top:max(20px, env(safe-area-inset-top));text-align:center;border-bottom:1px solid var(--border)}header h1{margin-bottom:4px;font-size:1.5rem;font-weight:700}header p{color:var(--text-muted);font-size:.875rem}main{padding:20px}section{animation:.3s ease-in-out fadeIn;display:none}section.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-header{justify-content:space-between;align-items:center;margin-bottom:15px;display:flex}.section-header h2{font-size:1.1rem;font-weight:600}.badge{background-color:var(--border);color:var(--primary);border:1px solid var(--primary);border-radius:20px;padding:4px 10px;font-size:.85rem;font-weight:500}.video-container{aspect-ratio:3/4;border:1px solid var(--border);background-color:#000;border-radius:8px;width:100%;margin-bottom:15px;position:relative;overflow:hidden}#qr-reader{border:none}@media (width>=600px){.video-container{aspect-ratio:4/3;max-width:560px;margin-left:auto;margin-right:auto}}.scan-line{pointer-events:none;background:linear-gradient(90deg,#0000,#0f8,#0000);border-radius:2px;width:90%;height:3px;animation:2s ease-in-out infinite scanMove;position:absolute;left:5%;box-shadow:0 0 8px #0f8}@keyframes scanMove{0%{top:20%}50%{top:75%}to{top:20%}}.recorder-container{max-width:min(100%,52.5vh);max-height:70vh;margin-left:auto;margin-right:auto;aspect-ratio:3/4!important}video{object-fit:cover;width:100%;height:100%}.helper-text{text-align:center;color:var(--text-muted);margin-bottom:20px;font-size:.875rem}.manual-input{border-top:1px solid var(--border);padding-top:20px}.manual-input p{color:var(--text-muted);margin-bottom:10px;font-size:.875rem}.input-group{gap:10px;display:flex}input[type=text]{background-color:var(--bg-dark);border:1px solid var(--border);color:var(--text-light);border-radius:8px;flex:1;padding:10px 15px;font-family:inherit;font-size:1rem}input[type=text]:focus{border-color:var(--primary);outline:none}input[type=email],input[type=password]{background-color:var(--bg-dark);border:1px solid var(--border);width:100%;color:var(--text-light);border-radius:8px;padding:10px 15px;font-family:inherit;font-size:1rem}input[type=email]:focus,input[type=password]:focus{border-color:var(--primary);outline:none}button{cursor:pointer;touch-action:manipulation;appearance:none;border:none;border-radius:8px;font-family:inherit;font-weight:600;transition:all .2s}.primary-btn{background-color:var(--primary);color:var(--bg-dark);touch-action:manipulation;padding:10px 20px;font-size:1rem}.primary-btn:hover{background-color:var(--primary-hover)}.secondary-btn{color:var(--text-light);border:1px solid var(--border);background-color:#0000;padding:10px 20px;font-size:1rem}.secondary-btn:hover{background-color:var(--border)}.record-btn{background-color:var(--danger);color:#fff;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 24px;font-size:1.1rem;display:flex}.record-btn:hover{background-color:var(--danger-hover)}.stop-btn{background-color:var(--border);color:#fff;width:100%;padding:12px 24px;font-size:1.1rem}.stop-btn:hover{background-color:#4b5563}.icon-btn{background-color:var(--bg-dark);border:1px solid var(--border);color:var(--text-light);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;display:flex}.icon-btn:hover{background-color:var(--border)}.controls{align-items:center;gap:10px;display:flex}.action-buttons{flex-direction:column;gap:10px;display:flex}.mt-4{margin-top:16px}.full-width{width:100%}.hidden{display:none!important}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:.875rem;display:flex}.input-hint{color:var(--text-muted);opacity:.8;font-size:.75rem;line-height:1.4}.optional-tag{color:var(--text-muted);opacity:.7;font-size:.75rem;font-weight:400}.app-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:14px;padding-bottom:14px;display:flex}.muted-text{color:var(--text-muted);font-size:.8rem}.compact-btn{padding:8px 12px;font-size:.875rem}.tab-bar{background-color:var(--bg-dark);border:1px solid var(--border);scrollbar-width:none;-ms-overflow-style:none;border-radius:8px;gap:4px;padding:4px;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab-btn{min-width:max-content;color:var(--text-muted);background:0 0;border-radius:4px;flex:1;padding:10px 12px}.tab-btn.active{background-color:var(--primary);color:var(--bg-dark)}.data-results{flex-direction:column;gap:10px;display:flex}.data-results>*,.pdf-resi-list>*{flex-shrink:0}.data-card{background-color:var(--bg-dark);border:1px solid var(--border);border-radius:8px;padding:12px}.data-card strong{word-break:break-all;margin-bottom:4px;display:block}.data-card p{color:var(--text-muted);margin-bottom:10px;font-size:.85rem}.data-card a{color:var(--primary);font-weight:700;text-decoration:none}.recording-indicator{color:#fff;background-color:#0009;border-radius:15px;align-items:center;gap:6px;padding:4px 10px;font-size:.85rem;font-weight:600;display:flex;position:absolute;top:10px;right:10px}.dot{background-color:var(--danger);border-radius:50%;width:10px;height:10px;animation:1.5s infinite pulse}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.status-overlay{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#121212f2;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.status-overlay.active{display:flex}.status-card{text-align:center;padding:30px}.status-card h3{margin-top:20px;margin-bottom:8px;font-size:1.2rem}.spinner{border:4px solid #ffffff1a;border-left-color:var(--primary);border-radius:50%;width:50px;height:50px;margin:0 auto;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#qr-reader img{display:none!important}#qr-reader button{background-color:var(--secondary);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:10px;padding:8px 16px;font-family:Inter,sans-serif}#qr-reader__dashboard_section_csr span{color:var(--text-light)!important}#qr-reader__camera_selection{background-color:var(--bg-dark);color:#fff;border:1px solid var(--border);border-radius:4px;padding:5px}.tab-bar{background-color:var(--bg-dark);border:1px solid var(--border);border-radius:12px;gap:10px;margin-bottom:20px;padding:6px;display:flex}.tab-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px;font-size:1rem;font-weight:500;transition:all .2s}.tab-btn:hover{color:var(--text-light)}.tab-btn.active{background-color:var(--secondary);color:#fff;box-shadow:0 2px 8px #6366f166}.data-results{flex-direction:column;gap:12px;margin-top:16px;display:flex}.data-card{background-color:var(--bg-dark);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:8px;padding:16px;display:flex}.data-card strong{color:var(--primary);font-size:1.1rem}.data-card p{color:var(--text-muted);margin:0;font-size:.875rem;line-height:1.4}.data-card a{color:var(--secondary);text-align:center;background-color:#6366f11a;border-radius:6px;margin-top:4px;padding:8px 12px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .2s;display:inline-block}.data-card a:hover{background-color:#6366f133}.accordion-section{border:1px solid var(--border);background-color:var(--bg-card);border-radius:10px;overflow:hidden}.accordion-section summary{list-style:none}.accordion-section summary::-webkit-details-marker{display:none}.upload-area{margin-bottom:20px}.hidden-input{display:none}.upload-box{border:2px dashed var(--border);text-align:center;cursor:pointer;background-color:var(--surface);border-radius:12px;padding:30px;transition:background-color .2s,border-color .2s}.upload-box:hover{background-color:var(--background);border-color:var(--primary)}.upload-box p{color:var(--text-muted);margin-top:10px;font-weight:500}.pdf-status{text-align:center;color:var(--primary);margin-bottom:15px;font-weight:700}.pdf-resi-list{flex-direction:column;gap:10px;max-height:60vh;display:flex;overflow-y:auto}.pdf-resi-item{background-color:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:15px;display:flex}.pdf-resi-item.done{opacity:.6;background-color:#f0fdf4;border-color:#bbf7d0}.pdf-resi-item.done span.resi-text{color:#166534;text-decoration:line-through}.resi-info{flex-direction:column;gap:5px;display:flex}.status-badge{border-radius:4px;width:fit-content;padding:2px 6px;font-size:.75rem;font-weight:700}.status-badge.pending{color:#854d0e;background-color:#fef08a}.status-badge.done{color:#166534;background-color:#bbf7d0}.accordion-header{cursor:pointer;background-color:var(--bg-dark);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:12px 16px;font-size:.95rem;font-weight:600;transition:background-color .2s;display:flex}.accordion-header:hover{background-color:var(--border)}.accordion-icon{color:var(--text-muted);font-size:.75rem;transition:transform .25s}details.accordion-section[open] .accordion-icon{transform:rotate(0)}details.accordion-section:not([open]) .accordion-icon{transform:rotate(180deg)}.accordion-body{border-top:1px solid var(--border);padding:14px;animation:.2s fadeIn}select.input-field{background-color:var(--bg-dark);color:var(--text-light);border:1px solid var(--border);border-radius:8px;width:100%;font-family:inherit;font-size:1rem}.queue-btn{background:var(--surface);border:1px solid var(--border);cursor:pointer;color:var(--text-light);border-radius:20px;align-items:center;gap:8px;padding:6px 12px;font-weight:700;display:flex;box-shadow:0 2px 4px #0000001a}.queue-btn:hover{background:#333}.queue-badge{background:var(--primary);color:#fff;border-radius:50%;padding:2px 6px;font-size:.8rem}.modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--surface);border-radius:12px;flex-direction:column;width:90%;max-width:400px;max-height:80vh;padding:20px;display:flex}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;display:flex}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem}.queue-list{flex-direction:column;gap:10px;display:flex;overflow-y:auto}.queue-item{border-left:4px solid var(--primary);background:#2a2a2a;border-radius:8px;padding:10px}.queue-item.success{border-left-color:#2ecc71}.queue-item.error{border-left-color:#e74c3c}.queue-item-header{justify-content:space-between;margin-bottom:5px;display:flex}.queue-item-status{color:var(--text-muted);font-size:.85rem;font-style:italic}.retry-btn{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:5px;padding:4px 8px;font-size:.8rem}.remove-btn{color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:4px;margin-top:5px;padding:4px 8px;font-size:.8rem}.faktur-card{background:linear-gradient(145deg,#1a1a2e,#16213e);border:1px solid #4ade8033;border-radius:18px;margin-bottom:24px;overflow:hidden;box-shadow:0 8px 32px #0006}.faktur-card-header{background:linear-gradient(90deg,#4ade8026,#0000);border-bottom:1px solid #4ade8026;align-items:center;gap:14px;padding:18px 20px;display:flex}.faktur-card-icon{font-size:2rem;line-height:1}.faktur-card-title{color:var(--text-light);margin:0;font-size:1.05rem;font-weight:700}.faktur-card-sub{color:var(--primary);letter-spacing:.3px;margin:2px 0 0;font-size:.72rem;font-weight:500}.faktur-form{flex-direction:column;gap:14px;padding:20px;display:flex}.faktur-row{gap:10px;display:flex}.faktur-row .faktur-field{flex:1;min-width:0}.faktur-field{flex-direction:column;gap:5px;display:flex}.faktur-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.6px;font-size:.72rem;font-weight:600}.faktur-input{width:100%;color:var(--text-light);appearance:none;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;padding:11px 13px;font-family:inherit;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.faktur-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4ade8026}.faktur-input::placeholder{color:#9ca3af80}.faktur-textarea{resize:vertical;min-height:70px;line-height:1.5}.faktur-divider{background:linear-gradient(90deg,#0000,#4ade804d,#0000);height:1px;margin:2px 0}.faktur-btn-print{background:linear-gradient(135deg, var(--primary), #22c55e);color:#0a0a0a;cursor:pointer;letter-spacing:.2px;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:4px;padding:14px;font-family:inherit;font-size:.95rem;font-weight:700;transition:transform .15s,box-shadow .15s,opacity .15s;display:flex;box-shadow:0 4px 15px #4ade8059}.faktur-btn-print:hover{transform:translateY(-2px);box-shadow:0 6px 20px #4ade8073}.faktur-btn-print:active{opacity:.85;transform:translateY(0)}.faktur-btn-print:disabled{opacity:.55;cursor:not-allowed;transform:none}.faktur-history-header{justify-content:space-between;align-items:center;margin-bottom:12px;padding:0 2px;display:flex}.faktur-btn-refresh{color:var(--primary);cursor:pointer;background:#4ade801a;border:1px solid #4ade8040;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:background .2s,transform .2s;display:flex}.faktur-btn-refresh:hover{background:#4ade8033;transform:rotate(30deg)}#faktur-history-list .data-card,#faktur-history-list article{background:linear-gradient(145deg,#1a1a2e,#16213e);border:1px solid #4ade8026;border-radius:14px;margin-bottom:10px;padding:14px 16px;transition:border-color .2s}#faktur-history-list .data-card:hover,#faktur-history-list article:hover{border-color:#4ade8059}.tab-bar{padding-bottom:env(safe-area-inset-bottom)}.data-results,.pdf-resi-list,#retur-list .data-results,.queue-list,#track-history,.accordion-body{-webkit-overflow-scrolling:touch}input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=date],textarea,select{appearance:none}select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='%23f3f4f6' d='M4.5 6L8 9.5 11.5 6z'/></svg>");background-position:right 10px center;background-repeat:no-repeat;background-size:14px;padding-right:32px!important}header,.tab-bar,.modal-overlay,.status-overlay,#track-modal{transform:translateZ(0)}@supports (-webkit-touch-callout:none){main{padding-bottom:max(20px, env(safe-area-inset-bottom))}}input{-webkit-appearance:none;border-radius:8px}.video-container,.recorder-container{-webkit-overflow-scrolling:touch}.balance-widget{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px}.balance-widget.low{border-color:var(--danger)}.balance-widget.low #balance-warning{display:block!important}main{overscroll-behavior-y:contain}
