:root{--bg:#0a0a0a;--bg-card:#1a1a1a;--bg-input:#2a2a2a;--text:#fff;--text-muted:#888;--gold:gold;--gold-hover:#ffc107;--green:#00c853;--red:#ff1744;--blue:#2979ff;--border:#333;--nav-height:64px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{min-height:100vh;padding-bottom:var(--nav-height)}.page{max-width:480px;margin:0 auto;padding:20px}.header{margin-bottom:24px}.header h1{color:var(--gold);font-size:28px;font-weight:700}.header p{color:var(--text-muted);margin-top:4px;font-size:14px}.login{justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-card{text-align:center;width:100%;max-width:360px}.logo{margin-bottom:16px;font-size:64px}.login-card h1{color:var(--gold);margin-bottom:8px;font-size:32px}.subtitle{color:var(--text-muted);margin-bottom:32px}.input{background:var(--bg-input);border:1px solid var(--border);width:100%;color:var(--text);border-radius:12px;margin-bottom:12px;padding:16px;font-size:16px}.input:focus{border-color:var(--gold);outline:none}select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat}.btn-primary{background:var(--gold);width:100%;color:var(--bg);cursor:pointer;border:none;border-radius:12px;margin-top:8px;padding:16px;font-size:16px;font-weight:600}.btn-primary:hover{background:var(--gold-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{width:100%;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:12px;margin-top:12px;padding:12px;font-size:14px}.btn-danger{width:100%;color:var(--red);border:1px solid var(--red);cursor:pointer;background:0 0;border-radius:12px;margin-top:24px;padding:12px;font-size:14px}.hint{color:var(--text-muted);margin-top:16px;font-size:12px}.error{color:var(--red);margin-bottom:8px;font-size:14px}.code-section{margin-bottom:24px}.code-card{background:var(--bg-card);border:2px solid var(--gold);text-align:center;border-radius:16px;padding:32px}.code-card.empty{border-color:var(--border)}.code-label{color:var(--text-muted);margin-bottom:8px;font-size:14px}.code-value{color:var(--gold);letter-spacing:4px;margin-bottom:8px;font-family:SF Mono,Fira Code,monospace;font-size:48px;font-weight:700}.code-expiry{color:var(--text-muted);margin-bottom:16px;font-size:14px}.code-instruction{color:var(--text-muted);margin-bottom:16px;font-size:12px}.info-section{flex-direction:column;gap:16px;display:flex}.info-card{background:var(--bg-card);border-radius:12px;padding:20px}.info-card h3{margin-bottom:12px;font-size:16px}.info-card ol,.info-card ul{color:var(--text-muted);padding-left:20px}.info-card li{margin-bottom:8px}.savings{color:var(--green);margin-top:8px;font-size:24px;font-weight:700}.savings-sub{color:var(--text-muted);font-size:14px}.hotel-list{flex-direction:column;gap:12px;display:flex}.hotel-card{background:var(--bg-card);border-radius:12px;justify-content:space-between;align-items:center;padding:16px;display:flex}.hotel-info h3{margin-bottom:4px;font-size:16px}.hotel-address{color:var(--text-muted);font-size:12px}.hotel-chain{color:var(--text-muted);margin-top:4px;font-size:12px}.hotel-rate{text-align:right}.rate{color:var(--gold);font-size:20px;font-weight:700}.per-night{color:var(--text-muted);font-size:12px}.booking-list{flex-direction:column;gap:12px;display:flex}.booking-card{background:var(--bg-card);border-radius:12px;justify-content:space-between;align-items:center;padding:16px;display:flex}.booking-info h3{margin-bottom:4px;font-size:16px}.booking-info p{color:var(--text-muted);font-size:12px}.status{border-radius:6px;margin-top:4px;padding:4px 8px;font-size:12px;display:inline-block}.status.confirmed{color:#a5d6a7;background:#1b5e20}.status.completed{color:#90caf9;background:#0d47a1}.status.cancelled{color:#ef9a9a;background:#b71c1c}.account-section{flex-direction:column;gap:16px;display:flex}.account-card{background:var(--bg-card);border-radius:12px;padding:20px}.account-card h3{margin-bottom:16px;font-size:16px}.field{margin-bottom:12px}.field label{color:var(--text-muted);margin-bottom:4px;font-size:12px;display:block}.field p{font-size:16px}.tier{text-transform:capitalize}.verify-card{max-width:400px;margin:0 auto}.verify-card h1{margin-bottom:8px;font-size:24px}.verify-card p{color:var(--text-muted);margin-bottom:24px}.upload-area{margin-bottom:16px}.file-input{display:none}.upload-label{background:var(--bg-input);border:2px dashed var(--border);cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex}.upload-label:hover{border-color:var(--gold)}.upload-icon{margin-bottom:8px;font-size:32px}.file-name{color:var(--gold);font-weight:500}.verify-result{text-align:center;padding:40px 20px}.result-icon{margin-bottom:16px;font-size:64px}.result-icon.approved{color:var(--green)}.result-icon.rejected{color:var(--red)}.result-icon.pending{color:var(--gold)}.confidence{color:var(--text-muted);margin-top:12px;font-size:12px}.empty-state{text-align:center;color:var(--text-muted);padding:40px 20px}.loading{min-height:100vh;color:var(--text-muted);justify-content:center;align-items:center;display:flex}.bottom-nav{height:var(--nav-height);background:var(--bg-card);border-top:1px solid var(--border);z-index:100;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{color:var(--text-muted);flex-direction:column;align-items:center;padding:8px 16px;font-size:10px;text-decoration:none;display:flex}.nav-item.active{color:var(--gold)}.nav-icon{margin-bottom:4px;font-size:24px}.nav-label{font-size:10px}@media (prefers-color-scheme:dark){:root{--bg:#0a0a0a;--bg-card:#1a1a1a}}
