html,body{height:100%;height:100dvh}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}#root{height:100%;height:100dvh;overflow:hidden;display:flex;flex-direction:column}.registar-panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.registar-search{padding:10px 14px;background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);flex-shrink:0}.registar-search .search-input{margin-bottom:0}.team-grid{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 12px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;align-content:start}.team-btn{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 10px 8px;background:var(--card-bg);border:1.5px solid var(--border);border-radius:12px;text-align:left;height:80px;transition:border-color .15s,background .15s,transform .1s;-webkit-tap-highlight-color:transparent}.team-btn:active{transform:scale(.95)}.team-btn.has-stickers{border-color:var(--accent-border);background:var(--accent-light)}.team-flag{font-size:22px;line-height:1;margin-bottom:2px}.team-code{font-size:13px;font-weight:700;color:var(--text);letter-spacing:.02em}.team-btn.has-stickers .team-code{color:var(--accent-dark)}.team-name{font-size:10px;color:var(--text-muted);line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.team-progress{position:absolute;top:7px;right:7px;background:var(--accent);color:#fff;border-radius:8px;padding:1px 5px;font-size:9px;font-weight:700}.numgrid-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);flex-shrink:0}.back-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;background:var(--bg-muted);border:1px solid var(--border);border-radius:8px;color:var(--text);flex-shrink:0;transition:background .15s}.back-btn:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent-border)}.numgrid-title{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.numgrid-code{font-size:16px;font-weight:700;color:var(--text)}.numgrid-name{font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.numgrid-count{font-size:13px;font-weight:600;color:var(--accent);flex-shrink:0}.number-grid{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 12px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;align-content:start}.number-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--card-bg);border:1.5px solid var(--border);border-radius:12px;transition:border-color .12s,background .12s,transform .1s;-webkit-tap-highlight-color:transparent;height:64px}.number-btn:active{transform:scale(.88);background:var(--accent-light);border-color:var(--accent-border)}.number-btn.registered{background:var(--accent-light);border-color:var(--accent-border)}.number-val{font-size:17px;font-weight:700;color:var(--text);line-height:1}.number-btn.registered .number-val{color:var(--accent-dark)}.number-qty{font-size:10px;font-weight:700;color:var(--accent);line-height:1}.number-remove{position:absolute;top:-8px;left:-8px;width:20px;height:20px;background:#e74c3c;color:#fff;border-radius:50%;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #00000040;z-index:1;transition:transform .1s,background .15s}.number-remove:active{background:#c0392b;transform:scale(.9)}.colecao-panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.colecao-summary{display:flex;align-items:baseline;gap:4px;padding:10px 14px 8px;background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);flex-shrink:0}.summary-owned{font-size:20px;font-weight:800;color:var(--accent)}.summary-sep{font-size:16px;color:var(--text-muted)}.summary-total{font-size:16px;font-weight:600;color:var(--text)}.summary-label{font-size:13px;color:var(--text-muted);margin-left:2px}.summary-pct{font-size:14px;font-weight:700;color:var(--accent)}.copy-missing-btn{margin-left:auto;display:flex;align-items:center;gap:5px;padding:5px 10px;background:var(--bg-muted);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:12px;font-weight:500;font-family:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.copy-missing-btn:active{background:var(--accent-light);color:var(--accent-dark);border-color:var(--accent-border)}.colecao-search{padding:10px 14px;background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);flex-shrink:0}.colecao-panel .team-grid{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 12px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;align-content:start}.colecao-panel .team-btn.complete{border-color:#27ae60;background:#27ae601a}.colecao-panel .team-btn.complete .team-code{color:#1e8449}.colecao-panel .number-grid{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 12px 16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px;align-content:start}.col-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--card-bg);border:1.5px solid var(--border);border-radius:12px;transition:border-color .12s,background .12s,transform .1s;-webkit-tap-highlight-color:transparent;height:64px}.col-btn:active{transform:scale(.88)}.col-btn.have{background:var(--accent-light);border-color:var(--accent-border)}.col-num{font-size:17px;font-weight:700;color:var(--text);line-height:1}.col-btn.have .col-num{font-size:11px;color:var(--accent-dark);margin-top:2px}.check-icon{width:22px;height:22px;color:var(--accent);flex-shrink:0}.form-row{display:flex;gap:8px;margin-bottom:12px}.input-field{flex:1;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:14px}.price-input{display:flex;align-items:center;gap:4px;background:var(--input-bg);border:1px solid var(--border);border-radius:8px;padding:0 10px;font-size:13px;color:var(--text-muted);white-space:nowrap}.price-input input{width:52px;border:none;background:transparent;color:var(--text);font-size:14px;padding:8px 4px;text-align:center}.price-input input:focus{outline:none}.results-card{border-color:var(--accent-border)}.result-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.result-header h3{margin:0 0 4px}.result-total{font-size:14px;font-weight:600;color:var(--accent)}.price-breakdown{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px;font-size:13px;color:var(--text-muted)}.price-total{font-weight:700;font-size:15px;color:var(--accent)}.cromo-tag.match{background:var(--accent-light);border-color:var(--accent-border);color:var(--accent-dark)}.cromo-tag.match.especial{background:#f39c121f;border-color:#f39c1266;color:#b7770d}.cromo-tag.missing{background:#e74c3c14;border-color:#e74c3c40;color:#c0392b}.missing-section{margin-top:12px}.missing-section summary{font-size:13px;color:var(--text-muted);cursor:pointer;padding:4px 0}.action-row{display:flex;gap:8px;margin-top:14px}.no-match{color:var(--text-muted);font-size:14px;text-align:center;padding:16px 0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);text-align:center;padding:40px}.empty-icon{font-size:48px}.empty-state h3{margin:0;color:var(--text)}.empty-state p{margin:0;font-size:14px}.section-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:16px 16px 8px}.order-card{margin:0 16px 12px;background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:14px}.order-card.estado-recebido,.order-card.estado-cancelado{opacity:.65}.order-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.order-nome{font-weight:600;font-size:16px}.estado-badge{font-size:11px;font-weight:600;border-radius:20px;padding:3px 10px;text-transform:uppercase;letter-spacing:.04em}.estado-badge.pendente{background:#f39c1226;color:#e67e22;border:1px solid rgba(243,156,18,.3)}.estado-badge.pago{background:#3498db26;color:#2980b9;border:1px solid rgba(52,152,219,.3)}.estado-badge.enviado{background:#9b59b626;color:#8e44ad;border:1px solid rgba(155,89,182,.3)}.estado-badge.recebido{background:var(--accent-light);color:var(--accent-dark);border:1px solid var(--accent-border)}.estado-badge.cancelado{background:#95a5a626;color:#7f8c8d;border:1px solid rgba(149,165,166,.3)}.order-meta{display:flex;justify-content:space-between;font-size:13px;color:var(--text-muted);margin-bottom:8px}.order-date{font-size:12px}.order-morada{font-size:13px;color:var(--text-muted);background:var(--bg-muted);border-radius:8px;padding:6px 10px;margin-bottom:10px;white-space:pre-line;line-height:1.5}.cromo-tag.order{background:var(--bg-muted);border:1px solid var(--border);color:var(--text);border-radius:20px;padding:4px 8px;font-size:12px;font-weight:500}.order-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.btn-sm{padding:7px 14px;font-size:13px}.btn-ghost-sm{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:7px 14px;font-size:13px;cursor:pointer;transition:background .15s}.btn-ghost-sm:hover{background:var(--bg-muted)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;padding:16px}.modal-box{background:var(--card-bg);border-radius:16px;padding:20px 16px;width:100%;max-width:480px;box-shadow:0 8px 40px #00000040;animation:fadeScale .18s ease}@keyframes fadeScale{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-header h3{font-size:16px;font-weight:700;margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-muted);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer}.modal-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--text-muted);margin-bottom:14px}.modal-label .input-area,.modal-label .input-field{margin-bottom:0}.estado-selector{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.estado-opt{padding:5px 12px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.03em;cursor:pointer;border:1.5px solid transparent;opacity:.45;transition:opacity .15s}.estado-opt.selected{opacity:1}.estado-opt.pendente{background:#f39c1226;color:#e67e22;border-color:#f39c124d}.estado-opt.pago{background:#3498db26;color:#2980b9;border-color:#3498db4d}.estado-opt.enviado{background:#9b59b626;color:#8e44ad;border-color:#9b59b64d}.estado-opt.recebido{background:var(--accent-light);color:var(--accent-dark);border-color:var(--accent-border)}.estado-opt.cancelado{background:#95a5a626;color:#7f8c8d;border-color:#95a5a64d}.modal-row{display:flex;gap:10px}.modal-row .modal-label{flex:1}.order-portes{color:var(--text-muted)}.order-total{font-weight:700;color:var(--text)}.modal-actions{display:flex;gap:10px;margin-top:4px}.modal-actions .btn-secondary{width:auto;flex:1}.modal-actions .btn-primary{flex:2}.auth-screen{display:flex;align-items:center;justify-content:center;height:100dvh;padding:24px;background:var(--bg)}.auth-card{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:0}.auth-logo{font-size:52px;margin-bottom:8px}.auth-title{font-size:24px;font-weight:800;color:var(--text);margin:0 0 24px;letter-spacing:-.02em}.auth-tabs{display:flex;width:100%;background:var(--bg-muted);border-radius:10px;padding:3px;margin-bottom:20px}.auth-tab{flex:1;padding:8px;font-size:14px;font-weight:500;color:var(--text-muted);background:transparent;border-radius:8px;transition:background .15s,color .15s}.auth-tab.active{background:var(--card-bg);color:var(--text);font-weight:600;box-shadow:0 1px 4px #00000014}.auth-form{width:100%;display:flex;flex-direction:column;gap:14px}.auth-label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;color:var(--text-muted)}.auth-input{width:100%;padding:12px 14px;border:1.5px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--text);font-size:15px;font-family:inherit;transition:border-color .15s}.auth-input:focus{outline:none;border-color:var(--accent)}.auth-error{background:#e74c3c1a;color:#c0392b;border:1px solid rgba(231,76,60,.25);border-radius:8px;padding:10px 14px;font-size:13px}.auth-info{background:var(--accent-light);color:var(--accent-dark);border:1px solid var(--accent-border);border-radius:8px;padding:10px 14px;font-size:13px}.auth-btn{width:100%;padding:13px;background:var(--accent);color:#fff;border-radius:10px;font-size:15px;font-weight:600;font-family:inherit;transition:background .15s,transform .1s;margin-top:4px}.auth-btn:hover{background:var(--accent-dark)}.auth-btn:active{transform:scale(.98)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}:root{--accent: #2ecc71;--accent-light: rgba(46,204,113,.12);--accent-light-hover: rgba(46,204,113,.2);--accent-border: rgba(46,204,113,.35);--accent-dark: #1a9f52;--bg: #f7f8fa;--bg-muted: #eef0f3;--card-bg: #ffffff;--border: #e2e5ea;--text: #111827;--text-muted: #6b7280;--input-bg: #f9fafb;--nav-bg: rgba(255,255,255,.92);--nav-border: rgba(0,0,0,.08);--header-bg: rgba(255,255,255,.95)}@media (prefers-color-scheme: dark){:root{--bg: #0f1117;--bg-muted: #1a1d27;--card-bg: #1c2030;--border: rgba(255,255,255,.1);--text: #f0f2f5;--text-muted: #8b929e;--input-bg: #141720;--nav-bg: rgba(15,17,23,.95);--nav-border: rgba(255,255,255,.08);--header-bg: rgba(15,17,23,.95)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior:none}button{font-family:inherit;cursor:pointer;border:none}textarea,input{font-family:inherit}.app{display:flex;flex-direction:column;height:100dvh;width:100%;position:relative;overflow:hidden}.panel-stack{flex:1;min-height:0;position:relative}.panel{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;visibility:hidden;pointer-events:none;overflow:hidden}.panel.active{visibility:visible;pointer-events:auto}.panel-header{position:sticky;top:0;z-index:10;background:var(--header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:14px 16px;display:flex;align-items:center;justify-content:space-between}.panel-header h2{font-size:18px;font-weight:700}.header-actions{display:flex;gap:6px}.btn-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:var(--bg-muted);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s}.btn-icon:hover{background:var(--accent-light);color:var(--accent);border-color:var(--accent-border)}.bottom-nav{display:flex;background:var(--nav-bg);border-top:1px solid var(--nav-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:6px 0 calc(6px + env(safe-area-inset-bottom))}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;background:transparent;color:var(--text-muted);font-size:10px;font-weight:500;padding:6px 4px;border-radius:10px;transition:color .15s;position:relative}.nav-btn svg{width:22px;height:22px;transition:transform .15s}.nav-btn.active{color:var(--accent)}.nav-btn.active svg{transform:scale(1.1)}.nav-icon-wrap{position:relative}.badge{position:absolute;top:-4px;right:-6px;background:#e74c3c;color:#fff;border-radius:10px;font-size:9px;font-weight:700;min-width:16px;height:16px;display:flex;align-items:center;justify-content:center;padding:0 4px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:16px;margin:12px 16px 0}.card h3{font-size:15px;font-weight:600;margin-bottom:10px}.tab-panel{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:16px}.input-area{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:14px;resize:vertical;margin-bottom:10px}.input-area:focus{outline:none;border-color:var(--accent)}.input-field{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:14px}.input-field:focus{outline:none;border-color:var(--accent)}.hint-text{font-size:12px;color:var(--text-muted);margin-bottom:8px}.hint-text code{background:var(--bg-muted);border-radius:4px;padding:1px 5px;font-family:monospace}.btn-primary{background:var(--accent);color:#fff;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .15s,transform .1s;width:100%}.btn-primary:hover{background:var(--accent-dark)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--bg-muted);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .15s;flex:1}.btn-secondary:hover{background:var(--border)}.btn-danger-sm{background:#e74c3c1a;color:#c0392b;border:1px solid rgba(231,76,60,.25);border-radius:8px;padding:6px 12px;font-size:13px;cursor:pointer;transition:background .15s}.btn-danger-sm:hover{background:#e74c3c2e}.import-msg{margin:8px 16px 0;padding:8px 14px;border-radius:8px;font-size:13px}.import-msg.success{background:var(--accent-light);color:var(--accent-dark);border:1px solid var(--accent-border)}.import-msg.error{background:#e74c3c1a;color:#c0392b;border:1px solid rgba(231,76,60,.3)}.cromo-grid{display:flex;flex-wrap:wrap;gap:6px}.cromo-tag{display:inline-flex;align-items:center;gap:4px;border-radius:20px;padding:5px 10px;font-size:13px;font-weight:600;cursor:default;-webkit-user-select:none;user-select:none}
