html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center;background-color:#f8f9fa;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.App-header{color:#fff;z-index:10;background-color:#8b0000;flex-shrink:0;padding:10px;position:sticky;top:0}.App-header h1{margin:0 0 10px;font-size:1.5rem}.App-header p{opacity:.8;margin:0}.App-header a{color:#61dafb;text-decoration:none}.App-header a:hover{text-decoration:underline}.header-content{text-align:left;justify-content:space-between;align-items:center;width:100%;display:flex}.header-content h3{margin:0}.last-loaded{opacity:.8;margin:5px 0 0;font-size:.9rem;font-style:italic}.refresh-button{color:#fff;cursor:pointer;background-color:#ffffff1a;border:1px solid #ffffff4d;border-radius:4px;justify-content:center;align-items:center;min-width:40px;height:40px;padding:8px 12px;font-size:16px;transition:all .2s;display:flex}.refresh-button:hover:not(:disabled){background-color:#fff3}.refresh-button:disabled{opacity:.6;cursor:not-allowed}footer{padding:0 10px calc(10px + env(safe-area-inset-bottom));flex-shrink:0;margin-top:0}footer>button{color:#fff;cursor:pointer;touch-action:manipulation;background-color:#363636;border:1px solid #ffffff4d;border-radius:4px;margin-right:4px;padding:8px 16px;font-size:14px;transition:background-color .2s}footer>button:hover{background-color:#a9a9a9}.auth-container{-webkit-overflow-scrolling:touch;background-color:#f8f9fa;flex:1;justify-content:center;align-items:center;min-height:0;padding:20px;display:flex;overflow:auto}.auth-box{text-align:center;background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 4px 12px #0000001a}.auth-box h1{color:#333;margin-bottom:20px;font-size:1.5rem}.auth-box p{color:#666;margin-bottom:30px;font-size:16px}.auth-form{flex-direction:column;gap:15px;display:flex}.auth-input{border:2px solid #e0e0e0;border-radius:6px;padding:12px 16px;font-size:16px;transition:border-color .2s}.auth-input:focus{border-color:#1976d2;outline:none}.auth-button{color:#fff;cursor:pointer;background-color:#1976d2;border:none;border-radius:6px;padding:12px 24px;font-size:16px;font-weight:600;transition:background-color .2s}.auth-button:hover{background-color:#1565c0}.auth-error{color:#c62828;margin-top:15px;font-size:14px}@media (width<=768px){.auth-box{margin:20px;padding:30px 20px}.header-content{text-align:left;flex-direction:row;align-items:center}footer button{align-self:center}}.App-main{flex-direction:column;flex:1;width:100%;max-width:1400px;min-height:0;margin:0 auto;padding:20px;display:flex;overflow:hidden}.loading,.error{border-radius:8px;flex-shrink:0;margin:0 0 12px;padding:20px}.loading{color:#1976d2;background-color:#e3f2fd}.error{color:#c62828;background-color:#ffebee}.payments-section{text-align:left;flex-direction:column;flex:1;min-height:0;display:flex}.payments-section h2{color:#333;margin-bottom:10px;font-size:1.2rem}.empty-state{color:#666;margin:0;padding:20px 0}.summary-stats{color:#666;flex-wrap:wrap;flex-shrink:0;gap:8px;margin:12px 0 0;font-size:.9rem;display:flex}.summary-stats .stat{white-space:nowrap;background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:6px 10px}.summary-stats strong{color:#1976d2;font-weight:700}.table-container{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:#fff;border-radius:8px;flex:1;min-height:0;overflow:auto;box-shadow:0 2px 4px #0000001a}.payments-table{border-collapse:separate;border-spacing:0;width:100%;font-size:14px}.payments-table th{z-index:2;text-align:left;color:#333;background-color:#f5f5f5;border-bottom:2px solid #e0e0e0;padding:12px 16px;font-weight:600;position:sticky;top:0}.payments-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.payments-table th.sortable:hover{background-color:#eee}.payments-table td{color:#555;border-bottom:1px solid #e0e0e0;padding:12px 16px}.payments-table tbody tr:hover{background-color:#f9f9f9}.payments-table tbody tr:last-child td{border-bottom:none}.payments-table td:nth-child(2){text-align:center;color:#1976d2;font-weight:600}.payments-table td:nth-child(3){color:#2e7d32;font-weight:600}.payments-table td:nth-child(4){text-align:center;color:#f57c00}.payments-table td:nth-child(5){color:#666;font-size:13px}@media (width<=768px){.App-main{padding:10px}.App-header h3{font-size:1.05rem}.last-loaded{font-size:.8rem}.payments-table{font-size:14px}.payments-table th,.payments-table td{padding:10px 12px}.payments-table th:nth-child(5),.payments-table td:nth-child(5){display:none}}@media (width<=480px){.App-main{padding:8px}.refresh-button{min-width:36px;height:36px}.payments-table th,.payments-table td{padding:8px;font-size:13px}.payments-table th:nth-child(4),.payments-table td:nth-child(4){display:none}.customer-cell{white-space:normal;word-break:break-word}.used-checkbox{width:22px;height:22px;margin-right:8px}.summary-stats{gap:6px;font-size:.8rem}.summary-stats .stat{padding:5px 8px}}@media print{footer{display:none!important}.App{min-height:0;display:block;overflow:visible}.App-main,.payments-section{display:block;overflow:visible}.table-container{box-shadow:none;overflow:visible}}.customer-cell{white-space:nowrap}.used-checkbox{cursor:pointer;vertical-align:middle;accent-color:#1976d2;width:18px;height:18px;margin:0 10px 0 0}.payments-table tbody tr.used td{color:#9e9e9e;background-color:#fafafa;text-decoration:line-through}.payments-table tbody tr.used:hover{background-color:#f5f5f5}.payments-table tbody tr{transition:background-color .2s}
