I am a:

🇵🇱

Poland

Capital: Warsaw

Recently updated

Fees, fines, and deadlines are approximate and may change. Always verify with official sources before acting.

Key Registrations & Procedures

PESEL Number (National Identification Number)

MANDATORYEU + Non-EU

PESEL (Powszechny Elektroniczny System Ewidencji Ludnosci) is Poland's 11-digit personal identifier, encoding date of birth, sex, and a check digit. EU citizens must submit a PESEL application at their local commune or city office (Urzad Gminy or Urzad Miasta); it is not issued automatically for EU nationals. Non-EU citizens receive their PESEL automatically as part of the residence card (Karta Pobytu) process, with no separate application required. Without PESEL, employment, NFZ healthcare access, tax registration, and most bank accounts are not available.

Local Municipal Office (Urzad Gminy / Urzad Miasta)

Deadline: Apply as soon as possible after establishing residence in Poland.
Processing Time: PESEL assigned same day or within 30 days depending on municipality.
💰Fees: Free
📅Appointment: Required - book at your local municipal office.
Required Documents:
  • Valid passport or EU national ID card
  • Completed PESEL application form (available at municipal office)
  • Proof of residence in Poland (rental contract, property deed, or accommodation declaration)
  • Employment contract or certificate of enrollment (if applicable - accelerates issuance)
Where to Do It:

Your local municipal office (Urzad Gminy or Urzad Dzielnicy in Warsaw). In Warsaw: any district office. In Krakow: Urzad Miasta Krakowa.

If You Don't Do It:

Without PESEL you cannot open a Polish bank account, enroll in ZUS (social security), register a vehicle, file taxes, apply for a driving licence, or access most public services.

Regional Variations: Same national process at every municipal office. Appointment systems differ by city.
🏠 Useful Services
  • Flatio specialises in furnished mid-term rentals across Europe, which is practical if you need a registered address before committing to a permanent flat.
  • Wunderflats covers furnished apartments in major European cities for one to twelve months, with no agency fees and utilities typically included in the monthly rate.
Visit Official Website

EU Residence Registration Certificate (Zaswiadczenie o Zarejestrowaniu Pobytu)

MANDATORYEU Citizens Only

The EU Residence Registration Certificate (Zaswiadczenie o Zarejestrowaniu Pobytu) confirms an EU or EEA citizen's right of residence in Poland under EU Freedom of Movement rules. It is issued by the Regional Governor's Office (Urzad Wojewodzki) on presentation of valid identity documents and proof of purpose of stay. Most employers, banks, and administrative bodies require it.

Voivodeship Office (Urzad Wojewodzki)

Deadline: Within 3 months of entering Poland for EU citizens intending to stay longer than 3 months.
Processing Time: Certificate issued immediately at the appointment.
💰Fees: PLN 1 (approx. EUR 0.25).
📅Appointment: Required - book at your local Urzad Wojewodzki.
Required Documents:
  • Valid passport or EU national ID card
  • Completed application form (available at Urzad Wojewodzki)
  • Proof of right to stay: employment contract, or proof of self-employment, or certificate of university enrollment, or proof of sufficient financial means and health insurance
  • PLN 1 stamp duty (skarbowa oplata)
Where to Do It:

Voivodeship Office (Urzad Wojewodzki) for the region where you live. Warsaw: Mazowiecki Urzad Wojewodzki, Plac Bankowy 3/5. Krakow: Malopolski Urzad Wojewodzki, Basztowa 22.

If You Don't Do It:

EU citizens in Poland beyond 3 months without registration are technically in breach of Polish immigration law. This certificate is required for PESEL applications and many employment/banking procedures.

Regional Variations: Each Voivodeship Office has its own appointment system. Warsaw (Mazowieckie) is the busiest and appointments may be scarce.
Visit Official Website

Karta Pobytu (Temporary Residence Card)

MANDATORYNon-EU Citizens Only

The Karta Pobytu (Temporary Residence Card) is the biometric card issued to non-EU citizens authorising legal residence in Poland. It is required for employment, banking, and access to public services. Applications are submitted at the Regional Governor's Office (Urzad Wojewodzki) before the current visa or visa-free period expires. The card includes the holder's PESEL number once assigned.

Urzad Wojewodzki (Regional Governor's Office) - Foreigners Affairs Department

Deadline: Non-EU citizens must apply for a temporary residence permit before their current visa or visa-free period expires (typically within 90 days of arrival for visa-free nationals). Apply as early as possible as processing can take several months.
Processing Time: 1-6 months depending on the Urzad Wojewodzki and permit type. A stamp in your passport (odcisk stempla) is issued at application confirming legal stay during processing.
💰Fees: PLN 340 for a temporary residence permit (Zezwolenie na pobyt czasowy). PLN 50 for the Karta Pobytu card itself.
📅Appointment: Required - book appointment at your local Urzad Wojewodzki. Many offices allow online booking.
Required Documents:
  • Valid passport (original)
  • Completed application form (Wniosek o udzielenie zezwolenia na pobyt czasowy)
  • PESEL number
  • Proof of registered address in Poland (meldunek)
  • Employment contract or proof of purpose of stay (work, study, family)
  • Proof of health insurance (ZUS or private)
  • Proof of sufficient financial means
  • Biometric passport photo (2 copies)
  • PLN 340 payment receipt
Where to Do It:

Your local Urzad Wojewodzki (Regional Governor's Office). Each voivodeship has its own foreigners department. Major offices: Warsaw (Mazowiecki Urzad Wojewodzki), Krakow (Malopolski UW), Wroclaw (Dolnoslaski UW), Gdansk (Pomorski UW).

If You Don't Do It:

Staying in Poland without a valid residence permit after your legal stay expires is illegal and constitutes an offence under Polish immigration law. Consequences include fines, deportation, and a Schengen-wide entry ban of 1-3 years. Your employer can also face fines of up to PLN 30,000 for employing someone without legal right to work.

Regional Variations: Each Urzad Wojewodzki has its own procedures and waiting times. Warsaw and Krakow have the longest queues. Some offices require you to submit documents by post after an in-person appointment. Ukraine and Belarus nationals may have specific fast-track procedures under current regulations.
Visit Official Website

Temporary Address Registration (Zameldowanie)

MANDATORYEU + Non-EU

Address registration (Zameldowanie) is completed at the local commune office or online through the ePUAP government platform. It is required for PESEL assignment, access to various government benefits, and driving licence applications. Both temporary registration (valid up to three months) and permanent registration are available.

Local Municipal Office (Urzad Gminy / Urzad Miasta)

Deadline: Within 30 days of establishing a permanent place of residence in Poland.
Processing Time: Confirmation of registration issued same day.
💰Fees: Free
📅Appointment: Walk-in or by appointment at your local municipal office.
Required Documents:
  • Valid passport or EU national ID card
  • Completed zameldowanie form (meldunek)
  • Signed rental contract or written permission from the property owner confirming your right to live at the address
Where to Do It:

Your local municipal office (urzad gminy or urzad dzielnicy). In Warsaw: any district office.

If You Don't Do It:

Failure to register your address is an administrative offence in Poland (fine up to PLN 500 approx.). The registration address is also used for official correspondence and is required for many documents including PESEL.

Regional Variations: Same national process across Poland. Some municipalities accept online registration via ePUAP for those with a Trusted Profile.
Visit Official Website

ZUS Social Security Registration

MANDATORYEU + Non-EU

ZUS (Zaklad Ubezpieczen Spolecznych) is Poland's Social Insurance Institution, managing pension, disability, sickness, and accident contributions. Employers register their employees automatically. Self-employed persons must register directly with ZUS within seven days of commencing business activity.

Social Insurance Institution (Zaklad Ubezpieczen Spolecznych - ZUS)

Deadline: Employers register employees within 7 days of starting work. Self-employed must register within 7 days of commencing business.
Processing Time: ZUS registration confirmed within a few days.
💰Fees: Free (contributions are payroll-based).
📅Appointment: No appointment needed for employees - employer handles registration. Self-employed: submit ZUS ZUA form online via PUE ZUS portal or in person at ZUS office.
Required Documents:
  • PESEL number
  • Valid passport or ID card
  • Employment contract (for employed workers - employer submits)
  • ZUS ZUA form (for self-employed - Zgloszenie do ubezpieczen)
  • CEIDG business registration number (for self-employed)
Where to Do It:

Online via PUE ZUS (pue.zus.pl) or at any ZUS branch. Employed workers are registered by their employer automatically.

If You Don't Do It:

Working without ZUS registration means you are not insured for health, pension, disability, or unemployment. For self-employed persons, unregistered activity can result in back-contributions plus interest and penalties.

Regional Variations: National system. ZUS has offices in every major city.
Visit Official Website

NFZ Health Insurance Registration

MANDATORYEU + Non-EU

NFZ (Narodowy Fundusz Zdrowia), Poland's National Health Fund, entitles registered contributors to free or subsidised healthcare at NFZ-contracted providers. Employees are enrolled automatically through ZUS contributions, and coverage begins once the first contribution payment is processed.

National Health Fund (Narodowy Fundusz Zdrowia - NFZ)

Deadline: Employed workers registered automatically by employer via ZUS. Self-employed must register independently.
Processing Time: Coverage active from the first day of employment. Voluntary enrollment: immediate upon payment.
💰Fees: Free for employed workers (contributions via ZUS). Voluntary enrollment fee: approx. PLN 600/month (2025).
📅Appointment: No appointment needed for employed workers. Voluntary enrollees: visit local NFZ branch.
Required Documents:
  • PESEL number
  • Valid passport or EU national ID card
  • ZUS registration confirmation
  • Employment contract or proof of self-employment
Where to Do It:

NFZ is automatically enrolled through ZUS for all employed persons. Voluntary coverage: apply at any NFZ Regional Branch (Oddzial Regionalny NFZ) - find branches at nfz.gov.pl.

If You Don't Do It:

Without NFZ coverage you must pay full out-of-pocket prices for all medical care in Poland. Emergency care is always provided but costs are billed to uninsured patients.

Regional Variations: NFZ has 16 regional branches (one per voivodeship). Basic benefits are nationwide; some specialist services require referral within your NFZ region.
Visit Official Website

Work Permit (Zezwolenie na Prace) - Non-EU Citizens Only

MANDATORYNon-EU Citizens Only

Non-EU citizens must obtain a work permit (Zezwolenie na Prace) before beginning employment in Poland. Each permit is employer-specific: it is tied to a particular employer, position, and location. Changing jobs requires a new permit. The Type A permit is the most common for employees. Poland also maintains a simplified declaration procedure (Oswiadczenie) for citizens of six neighbouring countries in specific employment sectors.

Urzad Wojewodzki (Regional Governor's Office) - Wydzial Spraw Cudzoziemcow (Foreigners Affairs Department)

Deadline: Before starting employment in Poland. The permit must be issued before the employment contract is signed and before the first day of work. Your employer applies on your behalf.
Processing Time: 1-3 months. A certificate of submission (zaswiadczenie o zlozeniu wniosku) allows provisional work while waiting.
💰Fees: PLN 100-200 depending on permit type and duration.
📅Appointment: Required - your employer submits the application at the Urzad Wojewodzki.
Required Documents:
  • Valid passport (original)
  • Completed application form
  • Employment contract or conditional employment offer
  • Employer's KRS extract (company registration) or CEIDG entry (if sole trader)
  • Proof of employer's tax registration (NIP)
  • Information from the local Powiatowy Urzad Pracy (Labour Office) on local labour market conditions (for Type A permits)
  • Biometric passport photo
  • PESEL number (if already assigned)
Where to Do It:

Your employer submits the application at the Wydzial Spraw Cudzoziemcow of the Urzad Wojewodzki in the region where work will be performed. In Warsaw: Mazowiecki Urzad Wojewodzki. In Krakow: Malopolski Urzad Wojewodzki.

If You Don't Do It:

Working in Poland without a valid work permit is a serious offence for both employee and employer. The employee can be deported and banned from re-entry. The employer faces fines of up to PLN 30,000 per illegal worker and potential criminal charges.

Regional Variations: Poland has multiple work permit types: Type A (standard, employer-specific), Type B (for company board members), Type C (delegation), Type D (secondment from outside EU), Type E (other). Additionally, citizens of Ukraine, Belarus, Georgia, Moldova, Armenia, and Russia may be eligible for a simpler Oswiadczenie (employer declaration) procedure instead of a full Type A permit for certain roles.
Visit Official Website

Samozatrudnienie (Self-Employment Registration via CEIDG)

MANDATORYEU + Non-EU

Self-employed individuals and sole traders register through CEIDG (Centralna Ewidencja i Informacja o Dzialalnosci Gospodarczej), Poland's central business register. Registration is free, entirely online, and takes under 15 minutes with an active Profil Zaufany. A single CEIDG submission notifies all relevant authorities simultaneously. The most significant ongoing obligation is fixed monthly ZUS social insurance contributions, payable regardless of actual income. This is an important financial consideration when deciding whether to operate as self-employed in Poland.

CEIDG (Centralna Ewidencja i Informacja o Dzialalnosci Gospodarczej - Central Registration and Information on Business) via ceidg.gov.pl

Deadline: Before starting any self-employed activity in Poland. You must register before issuing your first invoice.
Processing Time: 1 business day. CEIDG number (NIP and REGON) assigned immediately or within 1 day.
💰Fees: Free registration. ZUS social contributions: approximately PLN 1,600-2,000/month regardless of income during the first 2 years (preferential small ZUS rate available). Standard rate applies after 2 years.
📅Appointment: No appointment needed - register entirely online via ceidg.gov.pl using your Profil Zaufany (ePUAP).
Required Documents:
  • PESEL number
  • Profil Zaufany (ePUAP digital identity) for online registration
  • NIP tax number (for those who already have one)
  • Description of business activity (PKD code)
  • Polish residential address
  • Polish bank account (IBAN)
Where to Do It:

Register online at ceidg.gov.pl using your Profil Zaufany. The system simultaneously registers you with CEIDG, notifies ZUS (social insurance), GUS (statistics office / REGON number), and the tax authority (NIP assignment). All in one submission.

If You Don't Do It:

Operating as self-employed in Poland without CEIDG registration constitutes illegal business activity. You cannot legally issue invoices, and all income is treated as undeclared. ZUS back-contributions, fines from the tax authority, and potential criminal charges apply.

Regional Variations: The first 6 months of self-employment in Poland are exempt from ZUS contributions (ulga na start). After 6 months, a preferential small ZUS rate applies for 24 months. Only after 30 months do full ZUS contributions apply. This makes Poland relatively attractive for new self-employed persons in the early years.
Visit Official Website

Student Visa and Temporary Residence Permit for Study - Non-EU Students Only

MANDATORYNon-EU Citizens Only

Non-EU students studying in Poland for more than 90 days must first obtain a Polish student visa (D-type, category 11) before arrival and then apply for a temporary residence permit for study purposes (Zezwolenie na Pobyt Czasowy) after arriving in Poland. The permit covers the full duration of studies and authorises part-time work of up to 20 hours per week without a separate work permit.

Polish embassy or consulate (visa) and Urzad Wojewodzki (temporary residence permit)

Deadline: Apply for student visa at the Polish embassy before arrival. Apply for temporary residence permit within 30 days of arrival if staying longer than your visa allows.
Processing Time: Visa: 2-4 weeks. Temporary residence permit: 1-4 months. Application receipt confirms legal stay during processing.
💰Fees: Student visa: approximately EUR 80. Temporary residence permit: PLN 340 plus PLN 50 for the card.
📅Appointment: Required for both visa and residence permit applications.
Required Documents:
  • Valid passport
  • Unconditional admission letter from a Polish university or recognised educational institution
  • Proof of sufficient financial means (approximately PLN 776/month)
  • Proof of accommodation in Poland
  • Health insurance covering the entire period of study
  • Academic transcripts and certificates
  • Proof of tuition fee payment
Where to Do It:

Apply for the student visa at the Polish embassy or consulate in your country. After arrival, if your course lasts more than 90 days, apply for a Zezwolenie na Pobyt Czasowy (temporary residence permit) at the Urzad Wojewodzki in the region where you are studying.

If You Don't Do It:

Studying in Poland beyond the visa or visa-free period without a residence permit is an immigration offence. Part-time work is permitted (up to 20 hours/week) with a valid student residence permit.

Regional Variations: EU/EEA students do not need a visa or residence permit - only PESEL registration. Citizens of Ukraine have specific simplified procedures. Poland is increasingly popular with Ukrainian and Belarusian students under current geopolitical circumstances - check current rules at the relevant Urzad Wojewodzki.
📱 Useful Services
  • Saily provides eSIM data plans for students arriving in Europe, with instant activation and no physical SIM card or roaming charges required.
Visit Official Website

ePUAP Trusted Profile (Profil Zaufany)

GOOD TO HAVEEU + Non-EU

The Profil Zaufany is Poland's national digital identity used to access government services online, including ZUS, the Tax Administration (Krajowa Administracja Skarbowa), and commune offices. It acts as a qualified electronic signature for all official documents and applications submitted through ePUAP and other government platforms.

Ministry of Digital Affairs (Ministerstwo Cyfrowosci)

Deadline: Set up as soon as you have a PESEL and Polish address - required for most Polish government online services.
Processing Time: Immediate online registration. Identity confirmation: in person at ZUS, bank, or via mObywatel app.
💰Fees: Free
📅Appointment: No appointment for online registration. In-person confirmation at ZUS office or bank.
Required Documents:
  • PESEL number
  • Valid passport or EU national ID card
  • Polish mobile phone number
  • Email address
Where to Do It:

Online at epuap.gov.pl or via the mObywatel mobile app. Confirm your identity at any ZUS office, Polish bank, or via Poczta Polska post office.

If You Don't Do It:

Without a Trusted Profile you cannot submit ZUS applications online, file tax returns via e-Deklaracje, or interact with most Polish government portals digitally.

Regional Variations: National digital identity - valid across all Polish government platforms.
Visit Official Website

Polish Bank Account (Konto Bankowe)

GOOD TO HAVEEU + Non-EU

A Polish bank account with a PL IBAN is required for salary payments, ZUS refunds, tax refunds, and most rental contracts. mBank and ING Bank Slaski offer the most accessible English-language onboarding for new arrivals.

Any Polish bank (PKO Bank Polski, Pekao, mBank, ING Bank Slaski, Santander)

Deadline: Open as soon as you have your PESEL number - required for salary payments, ZUS contributions, and tax refunds.
Processing Time: Traditional banks: 1-5 business days. Online accounts (mBank, ING): same day.
💰Fees: Many accounts free with salary deposit. Otherwise PLN 0-10/month.
📅Appointment: No appointment needed for most online banks. Branch visit required for PKO BP and Pekao.
Required Documents:
  • Valid identity document (passport or EU ID)
  • PESEL number
  • Polish address
  • Polish phone number
Where to Do It:

Any Polish bank branch or online. mBank and ING are the most accessible for English speakers. PKO Bank Polski has the widest branch network.

If You Don't Do It:

No legal penalty but a Polish IBAN is required for salary payments, ZUS contribution refunds, tax authority (US) refunds, and most rental contracts. Without a Polish account, many employers cannot legally process payroll.

Regional Variations: Many Polish banks offer English-language interfaces and apps. PKO Bank Polski has the most extensive ATM network across Poland.
💳 Useful Services
  • Wise offers a multi-currency account at mid-market exchange rates, commonly used by expats for salary receipt and international transfers.
  • Monese allows account opening without proof of address, which makes it a practical option in the first weeks before your registration paperwork is complete.
Visit Official Website

NIP Tax Number (Self-Employed / Business Only)

OPTIONALEU + Non-EU

The NIP (Numer Identyfikacji Podatkowej) is Poland's tax identification number for businesses and self-employed individuals, required for VAT registration, invoice issuance, and business tax returns. Employees use their PESEL number for tax purposes and do not require a separate NIP.

National Revenue Administration (Krajowa Administracja Skarbowa)

Deadline: Required only if you are self-employed, run a business, or are a VAT taxpayer. Employed workers use PESEL for tax purposes.
Processing Time: NIP issued within 3 business days of application.
💰Fees: Free
📅Appointment: No appointment needed - apply online via biznes.gov.pl or at local Tax Office (Urzad Skarbowy).
Required Documents:
  • PESEL number
  • Valid passport or EU national ID card
  • Completed NIP-7 form (for individuals) or filed via CEIDG registration for sole traders
  • Proof of Polish address
Where to Do It:

Online via biznes.gov.pl (CEIDG - sole trader registration automatically generates NIP). Or in person at your local Urzad Skarbowy (tax office).

If You Don't Do It:

Self-employed persons operating without a NIP are not properly registered for VAT and income tax purposes, risking penalties and back-taxes.

Regional Variations: National system - same process at every tax office.
Visit Official Website

Driving Licence Exchange

OPTIONALNon-EU Citizens Only

EU and EEA driving licences are valid in Poland without any exchange requirement. Non-EU licence holders must exchange their licence within nine months of establishing residence. The process is handled by the local transport department (Wydzial Komunikacji) and typically requires a certified Polish translation of the foreign licence and a medical fitness certificate.

Urzad Komunikacji (Communication Office) at your local Starostwo or Urzad Miejski

Deadline: Within 9 months of establishing residence in Poland for non-EU licence holders. EU/EEA licences remain valid.
Processing Time: 4-8 weeks.
💰Fees: PLN 100.50 for the driving licence card.
📅Appointment: Required - apply at your local communication office.
Required Documents:
  • Valid non-EU driving licence (original)
  • Certified translation into Polish by sworn translator
  • PESEL number
  • Proof of Polish residence (meldunek)
  • Biometric passport photo
  • Medical certificate of fitness (if required by country of origin)
Where to Do It:

Your local Wydzial Komunikacji (Department of Communications) at the Starostwo Powiatowe or Urzad Miejski.

If You Don't Do It:

After 9 months your non-EU licence is no longer valid in Poland. Driving without a valid licence risks fines of up to PLN 500 and insurance complications.

Regional Variations: EU/EEA licences do not require exchange in Poland. Rules vary by country - some non-EU countries have bilateral exchange agreements with Poland.
📋 Useful Services
  • Translayte provides certified document translations accepted by EU government offices, with online ordering and rush turnaround available.
  • Rushtranslate also offers certified translations with rush delivery, accepted by government offices across Europe.
  • My Baggage handles door-to-door shipping across Europe with online booking and full tracking.
  • ParcelABC lets you compare rates across multiple carriers before booking your shipment to Europe.
Visit Official Website
'); w.document.close();w.focus();setTimeout(function(){w.print();},500); } function emailChecklist(){ if(!COUNTRY_DATA)return; var regs=COUNTRY_DATA.registrations||[]; var body=['Relocation Checklist - '+(COUNTRY_DATA.name||''),'','']; regs.forEach(function(r,i){body.push((i+1)+'. ['+(r.level||'').toUpperCase()+'] '+r.name);body.push(' Authority: '+r.authority);if(r.deadline)body.push(' Deadline: '+r.deadline);if(r.fees)body.push(' Fee: '+r.fees);(r.documents||[]).forEach(function(d){body.push(' - '+d);});body.push('');}); body.push('---');body.push('Generated by MoveToEU - movetoeu.eu'); var a=document.createElement('a'); a.href='mailto:?subject='+encodeURIComponent('My '+(COUNTRY_DATA.name||'')+' Relocation Checklist')+'&body='+encodeURIComponent(body.join('\n')); a.style.display='none';document.body.appendChild(a);a.click();document.body.removeChild(a); } function filterCards(btn) { var filter = btn.getAttribute('data-filter'); document.querySelectorAll('.filter-btn').forEach(function(b) { b.classList.remove('active'); }); btn.classList.add('active'); var cards = document.querySelectorAll('.registration-card'); var shown = 0; cards.forEach(function(card) { var audience = card.getAttribute('data-audience') || 'everyone'; var show = false; if (filter === 'everyone') { show = (audience === 'everyone'); } else if (filter === 'eu-citizen') { show = (audience === 'everyone' || audience === 'eu-citizen'); } else if (filter === 'non-eu') { show = (audience === 'everyone' || audience === 'non-eu' || audience === 'non-eu-student'); } else if (filter === 'self-employed') { show = (audience === 'self-employed'); } else if (filter === 'student') { show = (audience === 'non-eu-student'); } card.style.display = show ? '' : 'none'; if (show) shown++; }); var hint = document.getElementById('filter-hint'); if (hint) { var labels = {'everyone':'Everyone','eu-citizen':'EU Citizens','non-eu':'Non-EU Citizen','self-employed':'Self-Employed','student':'Student'}; if (filter === 'everyone') { hint.textContent = 'Showing ' + shown + ' steps that apply to everyone.'; } else { hint.textContent = 'Showing ' + shown + ' steps for ' + (labels[filter] || filter) + '. Universal steps from "Everyone" also apply to you.'; } } document.querySelectorAll('.registration-details').forEach(function(d) { d.classList.remove('open'); }); document.querySelectorAll('.registration-header').forEach(function(h) { h.classList.remove('expanded'); }); var firstVisible = null; document.querySelectorAll('.registration-card').forEach(function(c) { if (!firstVisible && c.style.display !== 'none') firstVisible = c; }); if (firstVisible) { var fD = firstVisible.querySelector('.registration-details'); var fH = firstVisible.querySelector('.registration-header'); if (fD) fD.classList.add('open'); if (fH) fH.classList.add('expanded'); } }