@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600&family=DM+Mono:wght@300;400&family=DM+Sans:wght@300;400;500&display=swap";*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0d0d;--surface: #161616;--card: #1c1c1c;--border: #2a2a2a;--amber: #e8a838;--amber-dim: #7a5520;--text: #e8e4dc;--muted: #6b6660;--danger: #c0392b;--green: #27ae60;--r: 12px}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:DM Sans,sans-serif;font-size:15px;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");opacity:.04;pointer-events:none;z-index:9999}.app{max-width:430px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;position:relative}.header{padding:28px 24px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:10;display:flex;align-items:center;justify-content:space-between}.header-title{font-family:Playfair Display,serif;font-size:22px;font-weight:600;letter-spacing:-.3px}.header-title span{color:var(--amber)}.header-count{font-family:DM Mono,monospace;font-size:11px;color:var(--muted);letter-spacing:.5px}.nav{display:flex;background:var(--surface);border-bottom:1px solid var(--border)}.nav-btn{flex:1;padding:13px 0;background:none;border:none;color:var(--muted);font-family:DM Mono,monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:color .2s;border-bottom:2px solid transparent;display:flex;flex-direction:column;align-items:center;gap:5px}.nav-btn svg{opacity:.5;transition:opacity .2s}.nav-btn.active{color:var(--amber);border-bottom-color:var(--amber)}.nav-btn.active svg{opacity:1}.content{flex:1;padding:20px 16px 100px;overflow-y:auto;display:flex;flex-direction:column;position:relative;z-index:2}.capture-zone{border:1.5px dashed var(--border);border-radius:var(--r);aspect-ratio:1.7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:border-color .2s,background .2s;position:relative;overflow:hidden;background:var(--surface)}.capture-zone:hover{border-color:var(--amber-dim);background:#1e1a14}.capture-zone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--r)}.capture-icon{color:var(--amber);opacity:.7}.capture-label{font-family:DM Mono,monospace;font-size:11px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.or-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:var(--muted);font-size:11px;font-family:DM Mono,monospace;letter-spacing:1px}.or-divider:before,.or-divider:after{content:"";flex:1;height:1px;background:var(--border)}.btn{width:100%;padding:14px;border-radius:var(--r);border:none;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background:var(--amber);color:#0d0d0d}.btn-primary:hover{background:#f0b84a}.btn-primary:disabled{background:var(--amber-dim);color:#555;cursor:not-allowed}.btn-ghost{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--amber-dim)}.btn-danger{background:var(--danger);color:#fff}.confirm-card{background:var(--card);border-radius:var(--r);border:1px solid var(--border);overflow:hidden;margin-bottom:16px}.confirm-card-img{width:100%;aspect-ratio:1.7;object-fit:cover}.confirm-body{padding:16px;display:flex;flex-direction:column;gap:10px}.confirm-title{font-family:Playfair Display,serif;font-size:14px;font-weight:600;color:var(--amber);letter-spacing:1px;text-transform:uppercase;margin-bottom:4px}.field-group{display:flex;flex-direction:column;gap:4px}.field-label{font-family:DM Mono,monospace;font-size:10px;letter-spacing:1px;color:var(--muted);text-transform:uppercase}.field-input{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;width:100%;transition:border-color .2s}.field-input:focus{outline:none;border-color:var(--amber-dim)}.btn-row{display:flex;gap:10px}.btn-row .btn{flex:1}.search-box{position:relative;margin-bottom:16px}.search-input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:14px 48px 14px 16px;color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .2s}.search-input:focus{outline:none;border-color:var(--amber)}.search-input::placeholder{color:var(--muted)}.search-submit{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--amber);cursor:pointer}.search-hint{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.hint-chip{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:6px 12px;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.5px;color:var(--muted);cursor:pointer;transition:all .2s}.hint-chip:hover{border-color:var(--amber-dim);color:var(--text)}.card-item{background:var(--card);border:1px solid var(--border);border-radius:var(--r);margin-bottom:10px;display:flex;gap:0;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .15s}.card-item:hover{border-color:var(--amber-dim);transform:translate(2px)}.card-item-body{padding:14px 16px;flex:1;display:flex;flex-direction:column;justify-content:center;gap:3px}.card-item-name{font-family:Playfair Display,serif;font-size:19px;font-weight:600}.card-item-role{font-size:12px;color:var(--muted)}.card-item-phone{font-family:DM Mono,monospace;font-size:11px;color:var(--amber);margin-top:2px}.card-item-chevron{display:flex;align-items:center;padding-right:12px;color:var(--muted)}.modal-backdrop{position:fixed;inset:0;background:#000c;z-index:100;display:flex;align-items:flex-end;animation:fadeIn .2s ease}.modal{background:var(--card);border-radius:16px 16px 0 0;width:100%;max-width:430px;margin:0 auto;max-height:90vh;overflow-y:auto;animation:slideUp .25s cubic-bezier(.34,1.56,.64,1)}.modal-img{width:100%;aspect-ratio:1.7;object-fit:cover;border-top:1px solid var(--border)}.modal-rolodex-card{width:100%;display:block;border-radius:8px;margin-bottom:12px}.modal-rolodex-card-loading{width:100%;aspect-ratio:1.75;background:#f0f0f0;border-radius:8px;margin-bottom:12px}.modal-show-card-btn{width:100%;margin-bottom:8px;font-size:13px}.modal-no-card-msg{text-align:center;color:var(--muted);font-size:13px;padding:16px 0 8px;margin:0}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 0;gap:12px}.modal-header-text{flex:1;min-width:0}.modal-body{padding:16px 20px 20px}.modal-name{font-family:Playfair Display,serif;font-size:24px;font-weight:600;margin-bottom:4px}.modal-role{color:var(--muted);font-size:13px;margin-bottom:0}.modal-fields{display:flex;flex-direction:column;gap:4px;margin-bottom:20px;margin-top:16px}.modal-field{display:flex;gap:12px;align-items:flex-start;padding:8px;border-radius:8px;cursor:pointer;transition:background .15s}.modal-field:hover{background:#ffffff0a}.modal-field:active{background:#ffffff14}.modal-field-icon{color:var(--amber);margin-top:1px;flex-shrink:0}.modal-field-label{font-family:DM Mono,monospace;font-size:10px;letter-spacing:1px;color:var(--muted);text-transform:uppercase;transition:color .2s}.modal-field-label.copied{color:var(--amber)}.modal-field-value{font-size:14px;margin-top:1px}.modal-notes{font-size:13px;color:var(--text-secondary, #aaa);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin-top:12px;white-space:pre-wrap;word-break:break-word}.modal-date{font-family:DM Mono,monospace;font-size:10px;color:var(--muted);border-top:1px solid var(--border);padding-top:14px;margin-top:12px}.modal-close{background:var(--surface);border:1px solid var(--border);color:var(--muted);width:32px;height:32px;border-radius:50%;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}.modal-action-bar{display:flex;gap:8px;padding-top:16px;border-top:1px solid var(--border);margin-top:8px}.modal-action-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:10px 6px;color:var(--text);cursor:pointer;font-size:11px;font-family:DM Sans,sans-serif;transition:border-color .15s}.modal-action-btn:hover{border-color:var(--amber-dim)}.modal-action-btn.danger{color:var(--danger);border-color:transparent}.modal-action-btn.danger:hover{border-color:var(--danger)}.modal-delete-confirm{background:#c0392b1a;border:1px solid var(--danger);border-radius:var(--r);padding:14px 16px;margin-top:12px}.modal-delete-confirm p{font-size:13px;color:var(--danger);margin:0 0 12px}.modal-save-confirm{background:#e8a83814;border:1px solid var(--amber);border-radius:var(--r);padding:14px 16px;margin-top:12px}.modal-save-confirm p{font-size:13px;color:var(--amber);margin:0 0 12px}.modal-edit-form{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.share-menu{display:flex;flex-direction:row;gap:8px;margin-top:12px;flex-wrap:wrap}.share-option{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 14px;color:var(--text);font-family:DM Mono,monospace;font-size:11px;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.share-option:hover{border-color:var(--amber-dim)}.share-option.copied{color:var(--amber);border-color:var(--amber-dim)}.sticky-top{position:sticky;top:0;z-index:10;background:var(--bg);padding-bottom:4px}.sort-pills{display:flex;gap:4px;margin-left:auto}.sort-pill{display:inline-flex;align-items:center;gap:3px;padding:5px 10px;border-radius:var(--r);font-family:DM Mono,monospace;font-size:11px;letter-spacing:.3px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.sort-pill.active{color:var(--amber);border-color:var(--amber-dim)}.sort-pill:not(.active):hover{color:var(--text)}.select-bar-row{display:flex;align-items:center;gap:7px;padding:8px 0 6px}.select-pill{display:inline-flex;align-items:center;gap:5px;padding:7px 13px;border-radius:var(--r);font-family:DM Mono,monospace;font-size:11px;letter-spacing:.3px;cursor:pointer;white-space:nowrap;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:opacity .15s}.select-pill:disabled{opacity:.3;cursor:default}.select-pill.danger-pill{background:#c0392b1f;border-color:var(--danger);color:var(--danger)}.select-pill-count{flex:1;text-align:center;font-family:DM Mono,monospace;font-size:11px;color:var(--muted)}.card-item.selected{border-color:var(--amber-dim);background:#e8a8380d}.card-select-dot{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin:auto 12px auto 0;transition:background .15s,border-color .15s}.card-select-dot.checked{background:var(--amber);border-color:var(--amber);color:#000}.bulk-confirm{background:#c0392b1a;border:1px solid var(--danger);border-radius:var(--r);padding:12px 14px;margin-top:6px}.bulk-confirm p{font-size:13px;color:var(--danger);margin:0 0 10px}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:10px 20px;font-size:13px;z-index:200;animation:slideUp .2s ease,fadeOut .3s ease 2s forwards;white-space:nowrap;display:flex;align-items:center;gap:8px}.toast.success{border-color:var(--green);color:var(--green)}.toast.error{border-color:var(--danger);color:var(--danger)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;color:var(--muted);text-align:center}.empty-icon{opacity:.3}.empty-label{font-family:DM Mono,monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase}.spinner{width:20px;height:20px;border:2px solid rgba(232,168,56,.2);border-top-color:var(--amber);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.sql-badge{font-family:DM Mono,monospace;font-size:10px;background:#1a1a1a;border:1px solid var(--border);border-radius:6px;padding:8px 12px;color:var(--muted);margin-bottom:12px;word-break:break-all}.sql-badge span{color:var(--amber)}.auth-gate{position:fixed;inset:0;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:24px;padding:100px 24px 40px;z-index:1000;overflow-y:auto;-webkit-overflow-scrolling:touch}.auth-logo{font-family:Playfair Display,serif;font-size:36px;font-weight:600;letter-spacing:-.5px}.auth-logo span{color:var(--amber)}.auth-subtitle{font-family:DM Mono,monospace;font-size:11px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;text-align:center;line-height:2}.auth-request-row{margin-top:14px;display:flex;flex-direction:column;align-items:center;gap:6px}.auth-no-account{font-family:DM Mono,monospace;font-size:11px;color:var(--muted);letter-spacing:.3px}.auth-request-link{background:none;border:none;cursor:pointer;font-family:DM Mono,monospace;font-size:11px;letter-spacing:.3px;color:var(--amber);text-decoration:underline;padding:0}.auth-request-link:hover{color:#f0b84a}.auth-error{color:var(--danger);font-size:13px;text-align:center;max-width:280px;line-height:1.5}.auth-buttons{display:flex;flex-direction:column;align-items:center;gap:10px;width:280px}.auth-method-btn{width:100%;padding:13px 20px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:border-color .2s;display:flex;align-items:center;justify-content:center;gap:8px}.auth-method-btn:hover{border-color:var(--amber-dim)}.auth-google-btn{width:280px;height:44px;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#3c4043;border:1px solid #dadce0;border-radius:4px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;padding:0 12px;transition:background .15s,box-shadow .15s}.auth-google-btn:hover:not(:disabled){background:#f8f9fa;box-shadow:0 1px 3px #3c404326}.auth-google-btn:disabled{opacity:.7;cursor:default}.auth-google-wait{font-family:DM Mono,monospace;font-size:12px;letter-spacing:.3px;color:#3c4043}.auth-otp-wrap{width:280px;display:flex;flex-direction:column;gap:10px}.auth-otp-row{display:flex;flex-direction:column;gap:10px}.auth-email-input{width:100%;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;transition:border-color .2s}.auth-email-input:focus{outline:none;border-color:var(--amber-dim)}.auth-email-input::placeholder{color:var(--muted)}.auth-send-btn{width:100%;padding:13px 20px;background:var(--amber);border:none;border-radius:var(--r);color:#0d0d0d;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}.auth-send-btn:hover{background:#f0b84a}.auth-send-btn:disabled{background:var(--amber-dim);cursor:not-allowed}.auth-sent-hint{font-size:12px;color:var(--muted);text-align:center;line-height:1.5}.auth-sent-hint span{color:var(--text)}.otp-boxes{display:flex;gap:8px;justify-content:center}.otp-box{width:40px;height:50px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font-family:DM Mono,monospace;font-size:22px;text-align:center;transition:border-color .2s;caret-color:transparent}.otp-box:focus{outline:none;border-color:var(--amber)}.otp-box:disabled{opacity:.4;cursor:not-allowed}.auth-back-btn{background:none;border:none;color:var(--muted);font-family:DM Sans,sans-serif;font-size:13px;cursor:pointer;transition:color .2s;padding:0}.auth-back-btn:hover{color:var(--text)}.auth-field{display:flex;flex-direction:column;gap:5px;width:100%}.auth-field label{font-family:DM Mono,monospace;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.auth-textarea{width:100%;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);color:var(--text);font-family:DM Sans,sans-serif;font-size:14px;resize:vertical;min-height:80px;transition:border-color .2s}.auth-textarea:focus{outline:none;border-color:var(--amber-dim)}.auth-textarea::placeholder{color:var(--muted)}.auth-submit-btn{width:100%;padding:13px 20px;background:var(--amber);border:none;border-radius:var(--r);color:#000;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.auth-submit-btn:hover{background:#f0b84a}.auth-submit-btn:disabled{background:var(--amber-dim);cursor:not-allowed}.auth-success-msg{text-align:center;font-size:14px;color:var(--green);max-width:280px;line-height:1.7}.auth-cooldown{font-family:DM Mono,monospace;font-size:12px;color:var(--danger);text-align:center}.header-pill-row{display:flex;gap:6px;margin-top:4px}.sign-out-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:5px 10px;cursor:pointer;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.5px;font-weight:500;transition:border-color .2s}.sign-out-btn:hover{border-color:var(--amber-dim)}.tour-help-btn{background:var(--surface);border:1px solid var(--border);color:var(--amber);border-radius:8px;font-family:DM Mono,monospace;font-size:13px;font-weight:700;padding:5px 9px;cursor:pointer;line-height:1;transition:border-color .2s}.tour-help-btn:hover{border-color:var(--amber-dim)}.backup-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:5px 10px;cursor:pointer;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.5px;font-weight:500;transition:border-color .2s}.backup-btn:hover{border-color:var(--amber-dim)}.header-greeting{font-family:DM Mono,monospace;font-size:16px;letter-spacing:.3px;color:var(--amber);text-align:right}.backup-overlay{position:fixed;inset:0;background:#000000bf;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}.backup-modal{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:28px 24px;width:100%;max-width:340px;display:flex;flex-direction:column;gap:16px}.backup-modal-title{font-family:DM Mono,monospace;font-size:13px;letter-spacing:.5px;color:var(--amber);text-transform:uppercase}.backup-modal-hint{font-family:DM Sans,sans-serif;font-size:13px;color:var(--muted);line-height:1.5}.backup-success{font-family:DM Sans,sans-serif;font-size:14px;color:#4caf50;line-height:1.5}.backup-format-options{display:flex;flex-direction:column;gap:8px}.backup-format-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;transition:border-color .15s}.backup-format-option.active{border-color:var(--amber)}.backup-format-option input{margin-top:3px;accent-color:var(--amber);flex-shrink:0}.backup-format-name{font-weight:600;font-size:14px;font-family:DM Sans,sans-serif;color:var(--text)}.backup-format-desc{font-size:12px;color:var(--muted);margin-top:2px}.backup-error{color:#d93025;font-size:13px;font-family:DM Sans,sans-serif}.backup-modal-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px}.backup-download-btn{width:100%;padding:10px 20px}.backup-cancel-btn{background:none;border:none;color:var(--muted);font-family:DM Mono,monospace;font-size:11px;cursor:pointer;padding:4px 8px;letter-spacing:.3px;text-align:center}.backup-cancel-btn:hover{color:var(--text)}.footer-copy{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.3px;color:var(--muted);text-align:center;padding-top:24px;margin-top:auto}.footer-copy-fixed{position:fixed;bottom:0;left:0;right:0;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.3px;color:var(--muted);text-align:center;padding:6px 0 8px;background:var(--bg);z-index:1;pointer-events:none}.auth-footer-links{display:flex;gap:20px;align-items:center;justify-content:center;margin-top:auto;padding-top:20px}.auth-footer-link{font-family:DM Mono,monospace;font-size:10px;letter-spacing:.3px;color:var(--amber);text-decoration:none;cursor:pointer;background:none;border:none;padding:0;transition:opacity .15s}.auth-footer-link:hover{opacity:.75}.legal-overlay{position:fixed;inset:0;z-index:2000;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .15s ease}.legal-modal{background:#111;border:1px solid var(--border);border-radius:16px;width:100%;max-width:420px;height:80vh;display:flex;flex-direction:column;overflow:hidden}.legal-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border)}.legal-modal-title{font-family:Playfair Display,serif;font-size:16px;color:var(--amber)}.legal-modal-close-x{background:none;border:none;color:var(--muted);cursor:pointer;font-size:18px;line-height:1;padding:0;transition:color .15s}.legal-modal-close-x:hover{color:var(--text)}.legal-modal-frame{flex:1;border:none;width:100%}.tour-overlay{position:fixed;inset:0;z-index:3000;background:#00000073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .2s ease}.tour-modal{background:var(--card);border:1px solid var(--border);border-radius:16px;width:100%;max-width:360px;padding:28px 24px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.tour-icon-wrap{color:var(--amber);margin-bottom:4px}.tour-icon-wrap svg{width:32px;height:32px;stroke-width:1.5}.tour-title{font-family:Playfair Display,serif;font-size:22px;font-weight:600;color:var(--text)}.tour-body{font-family:DM Sans,sans-serif;font-size:13px;color:var(--muted);line-height:1.6;display:flex;flex-direction:column;gap:6px}.tour-body strong{color:var(--text)}.tour-dots{display:flex;gap:7px;margin-top:4px}.tour-dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:background .2s}.tour-dot.active{background:var(--amber)}.tour-actions{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:8px}.tour-arrow-btn{background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:18px;line-height:1;width:40px;height:40px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s}.tour-arrow-btn:hover:not(:disabled){border-color:var(--amber-dim);color:var(--amber)}.tour-arrow-btn:disabled{opacity:.25;cursor:default}.tour-start-btn{background:var(--amber);border:none;color:#0d0d0d;font-family:DM Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.6px;text-transform:uppercase;padding:10px 20px;border-radius:8px;cursor:pointer;transition:background .15s}.tour-start-btn:hover{background:#f0b84a}.report-modal{height:auto;max-height:85vh}.report-form{padding:16px 20px 20px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.report-file-label{display:block;padding:10px 14px;background:var(--surface);border:1px dashed var(--border);border-radius:8px;cursor:pointer;font-size:12px;color:var(--muted);transition:border-color .2s}.report-file-label:hover{border-color:var(--amber);color:var(--amber)}.report-file-label.has-file{border-style:solid;border-color:var(--amber-dim);color:var(--text)}.report-submit-error{font-size:12px;color:var(--danger);text-align:center}.report-success{padding:32px 20px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.report-success-serial{font-family:DM Mono,monospace;font-size:22px;color:var(--amber);letter-spacing:1px}.report-success-msg{font-size:13px;color:var(--muted)}.placeholder-card{background:#fff;display:flex;flex-direction:column;justify-content:center;padding:10px 14px;position:relative;overflow:hidden}.placeholder-card-name{font-family:Playfair Display,serif;font-size:15px;font-weight:600;color:#111;line-height:1.3}.placeholder-card-sub{font-size:10px;color:#555;margin-top:3px;line-height:1.4}.placeholder-card-detail{font-size:9px;color:#666;margin-top:2px;line-height:1.3}.placeholder-card-brand{font-family:DM Mono,monospace;font-size:7px;letter-spacing:1.2px;color:#e8a838;text-transform:uppercase;position:absolute;bottom:8px;right:10px}.qr-badge{position:absolute;top:10px;left:10px;background:var(--amber);color:#0d0d0d;font-family:DM Mono,monospace;font-size:9px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;padding:4px 9px;border-radius:6px;pointer-events:none}.install-banner{position:fixed;bottom:16px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:398px;background:#1c1c1c;border:1px solid var(--amber-dim);border-radius:14px;padding:14px 14px 14px 16px;display:flex;align-items:center;gap:12px;z-index:1500;box-shadow:0 8px 32px #0009;animation:bannerSlideUp .35s ease}@keyframes bannerSlideUp{0%{transform:translate(-50%) translateY(24px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.install-banner-text{flex:1;font-size:12px;color:var(--text);line-height:1.5}.install-banner-text strong{color:var(--amber);font-weight:500}.install-banner-btn{background:var(--amber);border:none;color:#0d0d0d;border-radius:7px;padding:6px 13px;cursor:pointer;font-family:DM Mono,monospace;font-size:10px;letter-spacing:.5px;font-weight:600;flex-shrink:0;transition:background .2s}.install-banner-btn:hover{background:#f0b84a}.install-banner-x{background:none;border:none;color:var(--muted);cursor:pointer;padding:0;flex-shrink:0;display:flex;align-items:center;transition:color .15s}.install-banner-x:hover{color:var(--text)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeOut{to{opacity:0;pointer-events:none}}@keyframes spin{to{transform:rotate(360deg)}}
