*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #f5f5f7;--card-bg: #ffffff;--text: #1d1d1f;--text-muted: #86868b;--border: #e5e5ea;--accent: #0071e3;--success: #34c759;--danger: #ff3b30;--amber: #ff9500;--radius: 12px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}.page{max-width:640px;margin:0 auto;padding:16px 16px 48px}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:0 1px 3px #00000014;padding:24px;margin-bottom:16px}.loading{text-align:center;padding:48px 24px;color:var(--text-muted)}.spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 12px}@keyframes spin{to{transform:rotate(360deg)}}.not-found-card{text-align:center;padding:48px 24px}.not-found-icon{width:48px;height:48px;border-radius:50%;background:#fef0f0;color:var(--danger);font-size:24px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.not-found h1{font-size:18px;margin-bottom:8px}.banner{display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:var(--radius);font-size:14px;font-weight:600;margin-bottom:16px}.banner-success{background:#e8f8ee;color:#1a7d36}.banner-cancelled{background:#fef0f0;color:#bc1c1c}.banner-icon{font-size:18px;font-weight:700}.header{margin-bottom:24px}.header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.logo{height:32px}.status-badge{font-size:11px;font-weight:700;padding:4px 10px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.status-badge[data-status=draft]{background:#f0f0f0;color:#666}.status-badge[data-status=sent]{background:#e8f0fe;color:#1967d2}.status-badge[data-status=partially_paid]{background:#fef7e0;color:#e37400}.status-badge[data-status=fully_paid]{background:#e8f8ee;color:#1a7d36}.status-badge[data-status=cancelled]{background:#fef0f0;color:#bc1c1c}.invoice-no{font-size:24px;font-weight:800;letter-spacing:-.5px}.section{margin-bottom:20px}.section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);margin-bottom:8px}.tour-name{font-size:16px;font-weight:600}.tour-dates,.pax-info{font-size:13px;color:var(--text-muted);margin-top:4px}.recipient-name{font-size:15px;font-weight:500}.due-date{font-size:15px;font-weight:600;color:var(--amber)}.items-table{width:100%;border-collapse:collapse;font-size:13px}.items-table th{text-align:left;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);padding:8px 6px 4px;border-bottom:1px solid var(--border)}.items-table th.num,.items-table td.num{text-align:right;white-space:nowrap}.items-table td{padding:8px 6px;border-bottom:1px solid var(--border);vertical-align:top}.item-detail{font-size:11px;color:var(--text-muted);margin-top:2px}.totals{margin-bottom:20px}.total-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13px}.total-row.paid{color:var(--text-muted)}.total-row.balance{font-weight:700;font-size:16px;border-top:1px solid var(--border);padding-top:10px;margin-top:4px}.total-value{font-variant-numeric:tabular-nums}.tabs{display:flex;gap:0;margin-bottom:20px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tab{flex:1;padding:12px;font-size:13px;font-weight:600;border:none;background:var(--card-bg);cursor:pointer;transition:background .2s}.tab-active{background:var(--accent);color:#fff}.tab-disabled{color:var(--text-muted);cursor:not-allowed;opacity:.6;display:flex;align-items:center;justify-content:center;gap:6px}.coming-soon{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:var(--border);padding:1px 6px;border-radius:4px;color:var(--text-muted)}.bank-block{margin-bottom:20px}.bank-muted{opacity:.4;pointer-events:none}.copy-field{margin-bottom:12px}.copy-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:4px}.copy-value-row{display:flex;align-items:center;gap:8px}.copy-value{flex:1;font-size:14px;font-family:SF Mono,Menlo,Monaco,monospace;font-weight:600;word-break:break-all}.copy-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:14px;cursor:pointer;transition:background .2s;flex-shrink:0}.copy-btn:hover{background:var(--bg)}.footer{text-align:center;font-size:11px;color:var(--text-muted);padding-top:16px;border-top:1px solid var(--border)}
