.bt-login-nav {
position: sticky;
top: 0;
z-index: 20;
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
padding: 1rem 0;
backdrop-filter: blur(18px);
}
.bt-login-nav-brand {
display: inline-flex;
align-items: center;
gap: 0.85rem;
min-width: 0;
}
.bt-login-nav-brand-link {
display: inline-flex;
align-items: center;
min-width: 0;
color: inherit;
text-decoration: none;
border-radius: 16px;
}
.bt-login-nav-brand-link:focus-visible {
outline: 2px solid rgba(255, 255, 255, 0.35);
outline-offset: 4px;
}
.bt-login-nav-logo {
width: auto;
height: 60px;
max-width: 240px;
object-fit: contain;
flex-shrink: 0;
}
.bt-login-nav-menu {
display: none;
position: relative;
margin-left: auto;
}
.bt-login-nav-menu summary {
list-style: none;
}
.bt-login-nav-menu summary::-webkit-details-marker {
display: none;
}
.bt-login-nav-menu-toggle {
display: inline-flex;
align-items: center;
justify-content: center;
width: 46px;
height: 46px;
border-radius: 14px;
border: 1px solid rgba(255, 255, 255, 0.12);
background: rgba(255, 255, 255, 0.04);
color: var(--text);
cursor: pointer;
transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
box-shadow: none;
}
.bt-login-nav-menu-toggle:hover {
background: rgba(255, 255, 255, 0.08);
border-color: rgba(255, 255, 255, 0.18);
transform: translateY(-1px);
}
.bt-login-nav-menu-icon {
display: inline-flex;
flex-direction: column;
gap: 4px;
}
.bt-login-nav-menu-icon span {
display: block;
width: 18px;
height: 2px;
border-radius: 999px;
background: currentColor;
transition: transform 0.18s ease, opacity 0.18s ease;
}
.bt-login-nav-menu[open] .bt-login-nav-menu-icon span:nth-child(1) {
transform: translateY(6px) rotate(45deg);
}
.bt-login-nav-menu[open] .bt-login-nav-menu-icon span:nth-child(2) {
opacity: 0;
}
.bt-login-nav-menu[open] .bt-login-nav-menu-icon span:nth-child(3) {
transform: translateY(-6px) rotate(-45deg);
}
.bt-login-nav-menu-panel {
position: absolute;
right: 0;
top: calc(100% + 0.65rem);
width: min(240px, 72vw);
padding: 0.65rem;
border-radius: 18px;
border: 1px solid rgba(255, 255, 255, 0.12);
background: rgba(12, 18, 41, 0.98);
box-shadow: 0 24px 60px rgba(2, 6, 23, 0.28);
backdrop-filter: blur(18px);
z-index: 30;
}
.bt-login-nav-menu-links {
display: grid;
gap: 0.35rem;
list-style: none;
margin: 0;
padding: 0;
}
.bt-login-nav-menu-links a {
display: flex;
align-items: center;
justify-content: flex-start;
min-height: 42px;
padding: 0.7rem 0.95rem;
border-radius: 12px;
color: rgba(255, 255, 255, 0.92);
border: 1px solid transparent;
transition: 0.18s ease;
font-size: 0.92rem;
}
.bt-login-nav-menu-links a:hover {
color: #fff;
border-color: rgba(255, 255, 255, 0.14);
background: rgba(255, 255, 255, 0.06);
}
.bt-login-nav-links {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: flex-end;
gap: 0.4rem;
list-style: none;
margin: 0;
padding: 0;
}
.bt-login-nav-links a {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 40px;
padding: 0.45rem 0.9rem;
border-radius: 999px;
color: var(--muted);
border: 1px solid transparent;
transition: 0.18s ease;
font-size: 0.9rem;
}
.bt-login-nav-links a:hover {
color: var(--text);
border-color: rgba(255, 255, 255, 0.14);
background: rgba(255, 255, 255, 0.06);
}
/* --- PUBLIC CLASSIC DESIGN SYSTEM COMPONENTS --- */
.hero {
padding: 2rem 1.5rem 2.5rem;
background: linear-gradient(135deg, rgba(27, 37, 89, 0.04) 0%, rgba(74, 58, 255, 0.02) 100%);
border-radius: 1.5rem;
border: 1px solid rgba(27, 37, 89, 0.08);
margin-bottom: 1.5rem;
}
.hero-card {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 1rem;
}
.hero-tag {
display: inline-block;
padding: 0.35rem 0.85rem;
border-radius: 2rem;
background: rgba(245, 166, 35, 0.12);
color: #d97706;
font-size: 0.8rem;
font-weight: 700;
letter-spacing: 0.05em;
text-transform: uppercase;
}
.hero h1 {
font-size: clamp(1.8rem, 3.2vw, 2.75rem);
font-weight: 800;
color: #1B2559;
line-height: 1.25;
letter-spacing: -0.02em;
margin: 0;
}
.lead {
font-size: 1.05rem;
color: #4b5563;
line-height: 1.65;
margin: 0;
}
.panel.section,
.panel {
background: #ffffff;
border: 1px solid rgba(27, 37, 89, 0.08);
border-radius: 1.5rem;
padding: 1.75rem 2rem;
margin-bottom: 1.5rem;
box-shadow: 0 10px 30px rgba(27, 37, 89, 0.04);
}
.section-head {
margin-bottom: 1rem;
}
.section-kicker {
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #f5a623;
margin-bottom: 0.25rem;
}
.section-head h2,
.section h2 {
font-size: 1.65rem;
font-weight: 700;
color: #1B2559;
margin: 0;
line-height: 1.3;
}
.cards {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 1.25rem;
margin-top: 1.25rem;
}
.card {
padding: 1.35rem 1.5rem;
border-radius: 1.1rem;
background: #ffffff;
border: 1px solid rgba(27, 37, 89, 0.08);
box-shadow: 0 4px 12px rgba(27, 37, 89, 0.03);
transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.card:hover {
transform: translateY(-2px);
box-shadow: 0 12px 24px rgba(27, 37, 89, 0.08);
border-color: rgba(245, 166, 35, 0.4);
}
.card h3 {
font-size: 1.1rem;
font-weight: 700;
color: #1B2559;
margin: 0 0 0.5rem;
}
.card p {
font-size: 0.9rem;
color: #4b5563;
line-height: 1.6;
margin: 0;
}
.btn-row {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.75rem;
margin-top: 1.25rem;
}
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
min-height: 2.65rem;
padding: 0.65rem 1.25rem;
border-radius: 0.75rem;
font-weight: 700;
font-size: 0.875rem;
text-decoration: none;
cursor: pointer;
transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
border: 1px solid transparent;
}
.btn-primary {
background: linear-gradient(135deg, #1B2559 0%, #2B3678 100%);
color: #ffffff !important;
box-shadow: 0 6px 18px rgba(27, 37, 89, 0.18);
}
.btn-primary:hover {
background: linear-gradient(135deg, #2B3678 0%, #4A3AFF 100%);
transform: translateY(-1px);
}
.btn-ghost {
background: #ffffff;
border: 1px solid rgba(27, 37, 89, 0.14);
color: #1B2559 !important;
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}
.btn-ghost:hover {
background: #f8fbff;
border-color: #1B2559;
transform: translateY(-1px);
}
.chip-cloud {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
margin-top: 1rem;
}
.chip {
display: inline-flex;
align-items: center;
padding: 0.45rem 0.85rem;
border-radius: 2rem;
background: rgba(27, 37, 89, 0.04);
border: 1px solid rgba(27, 37, 89, 0.08);
font-size: 0.825rem;
font-weight: 600;
color: #1B2559;
}
.list-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 0.75rem;
margin-top: 1rem;
}
.list-item {
display: flex;
align-items: flex-start;
gap: 0.65rem;
padding: 0.75rem 0.9rem;
border-radius: 0.75rem;
background: rgba(27, 37, 89, 0.02);
border: 1px solid rgba(27, 37, 89, 0.06);
}
.bullet {
width: 8px;
height: 8px;
border-radius: 50%;
background: #F5A623;
margin-top: 0.45rem;
flex-shrink: 0;
}
.list-item strong {
display: block;
font-size: 0.875rem;
font-weight: 700;
color: #1B2559;
}
.list-item span {
font-size: 0.825rem;
color: #6b7280;
line-height: 1.45;
}
.callout {
padding: 1.25rem;
border-radius: 1rem;
background: linear-gradient(135deg, rgba(245, 166, 35, 0.08) 0%, rgba(74, 58, 255, 0.03) 100%);
border: 1px solid rgba(245, 166, 35, 0.25);
margin-top: 1.25rem;
}
.footer-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 1rem;
margin-top: 1.25rem;
}
.contact-card {
padding: 1.1rem;
border-radius: 0.85rem;
background: #ffffff;
border: 1px solid rgba(27, 37, 89, 0.08);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.02);
}
.contact-card small {
display: block;
font-size: 0.725rem;
text-transform: uppercase;
letter-spacing: 0.05em;
color: #6b7280;
margin-bottom: 0.25rem;
}
.contact-card strong {
display: block;
font-size: 0.95rem;
font-weight: 700;
color: #1B2559;
}
.text-link {
color: #4A3AFF !important;
font-weight: 600;
text-decoration: underline !important;
text-underline-offset: 3px;
transition: color 0.15s ease;
}
.text-link:hover {
color: #1B2559 !important;
}
@media (max-width: 840px) {
.bt-login-nav {
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.bt-login-nav-links {
justify-content: flex-start;
}
}
@media (max-width: 640px) {
.bt-login-nav-logo {
height: 44px;
max-width: 180px;
}
.bt-login-nav-menu {
display: inline-flex;
}
.bt-login-nav-links {
display: none;
}
.bt-login-nav-menu-panel {
width: min(260px, calc(100vw - 1rem));
}
}
Make Your Special Day Run More Calmly with Digital Wedding Guestbook
From online RSVP confirmations to rapid QR Code check-ins and fair souvenir distribution, eliminate reception stress and welcome your guests warmly.
< 2 Sec
QR Check-In / Guest
Timeline & Workflow Wedding Journey
Structured operational workflow from preparation up to wedding day reception.
3 Months Before
1. Save the Date RSVP
Distribute online RSVP links via WhatsApp blast to gather initial guest responses.
1 Month Before
2. Track RSVPs & Seating
Monitor live attendance confirmations and organize VIP & family seating charts.
2 Weeks Before
3. Broadcast QR Pass
Send personalized WhatsApp messages containing unique QR Code check-in passes.
Wedding Day
4. Instant QR Check-In
Scan QR Code passes at the venue entrance in under 2 seconds per guest.
Wedding Day
5. Souvenir & Welcome
Personalized screen greets guests while QR validation ensures 1x souvenir claim.
Post Event
6. Real-Time Report
Download complete attendance data, gift logs, and live guest wishes.
Wedding Operational Challenges We Solve
We help transform wedding operational challenges into a smoother, organized, and pleasant experience for couples and guests.
❌ Inaccurate RSVPs & venue overbooking
✅ Digital RSVP system tracks real attendance & venue caps.
❌ Long registration queues at gate
✅ QR Check-In speeds up entry to under 2 seconds per guest.
❌ Duplicate souvenir claims
✅ QR scan logging ensures fair 1x souvenir distribution.
❌ Confused guests searching for tables
✅ Interactive seating maps guide ushers instantly.
❌ Lost gift envelopes & manual math errors
✅ Digital gift tracking safely logs gift records in dashboard.
❌ Guest wishes & memories scattered or lost
✅ Live screen displays guest prayers & stores them permanently.
Who Uses Our Wedding Platform?
👑
Bride & Groom
Couples focus on enjoying their special day stress-free.
📋
Wedding Organizers (WO)
WO teams manage registration lines with high efficiency.
🏰
Venues & Ballrooms
Venue managers maintain room capacity & seating order.
✨
Wedding Planners
Planners easily track RSVP progress & WA broadcasts.
👥
Family Reception Committees
Family reception committees welcome guests warmly with digital assistance.
🎙️
Ushers & Reception Desk
Desk officers & ushers guide instant check-ins & seating directions smoothly.
Special Features Wedding Experience
💌
RSVP & Capacity Control
Know exact guest headcounts in advance. RSVPs auto-close once venue capacity is met.
🪑
Visual Seating Management
Ensure VIP guests and family members find their designated tables effortlessly.
🎁
Fair Souvenir Distribution
QR validation guarantees each guest claims their gift only once without duplication.
💬
WhatsApp Invitation Pass
Deliver warm personalized invitations and single-tap QR passes directly to WhatsApp.
👋
Interactive Welcome Screen
Greet each guest with their name live on venue screens, creating a memorable welcome.
🖥️
Live Guest Wishes Display
Project real-time congratulatory messages and prayers from attending guests.
Operational Timeline Wedding Day Schedule
08.00
Device & Registration Desk Setup
WO staff powers up QR scanners & connects Welcome Screens at venue entrance.
17.00
Guest Arrival
Guests arrive and present their QR Code pass from WhatsApp.
17.15
Instant QR Check-In (< 2s)
Reception staff scan the QR Code. Attendance is logged instantly.
17.20
Welcome Screen Greeting
The guest’s name pops up automatically on venue displays.
17.30
Seating Guidance
Ushers view table numbers and guide guests to VIP/family tables.
21.00
Real-Time Reports & Summaries
The couple and WO receive instant summaries of attendance and guest wishes.
Wedding Transformation Manual vs Digital
Before (Manual Paper)
"Has everyone arrived? Which family table is still open?"
Anxious couples & organizers. Long lines at entry, unreadable paper guestbooks, lost gift records, and unorganized souvenir distribution.
After (Digital Guestbook)
"97% of guests arrived! Seating is orderly and we are enjoying our reception."
Relaxed couple checking real-time dashboard. Attendance updates instantly, ushers guide tables smoothly, and memories are captured perfectly.
Why Modern Couples Switch to Digital Guestbook
Wedding Operational Process
Paper / Manual Guestbook
Buku Tamu by einvite.id
Registration Queue Time
1 - 2 Minutes per guest (handwriting)
Under 2 Seconds (quick QR scan)
Duplicate Entry Validation
Impossible to prevent (duplicate names)
100% Guaranteed (system blocks duplicates)
VIP & Family Seating Assignment
Manual lookup on printed paper sheets
Auto-displayed on registration screen & usher device
Gift & Envelope Recap
Paper notes can get lost or miscalculated
Logged securely in dashboard database
Real-time Attendance Reporting
Hours of manual counting after the event
Live instant updates on dashboard
Registration Queue Time
❌ Paper / Manual: 1 - 2 Minutes per guest
✅ einvite.id: Under 2 Seconds
Duplicate Entry Validation
❌ Paper / Manual: Impossible to prevent
✅ einvite.id: 100% Guaranteed
VIP & Family Seating Assignment
❌ Paper / Manual: Manual lookup on paper sheets
✅ einvite.id: Auto-displayed on registration screen
Gift & Envelope Recap
❌ Paper / Manual: Paper notes can get lost
✅ einvite.id: Logged securely in database
Real-time Attendance Reporting
❌ Paper / Manual: Hours of manual counting
✅ einvite.id: Live instant updates on dashboard
5.0 / 5.0 Google Reviews
What Couples & WOs Say About Us?
Real experience reviews from couples and wedding organizers on Google Reviews.
Swipe horizontal to view all 6 reviews
"Terima kasih banyak Einvite sudah membuatkan undangan acara pernikahan saya. Sangat responsif, baik, sabar dan cepat sekali untuk setiap permintaan revisi dengan hasil yang sangat bagus. Sukses terus Einvite !!"
"Bener2 professional & fast respon banget. Bener2 ngikutin maunya aku & pasanganku soal undangannyaa. Thankyou bgt yaaa❤️"
FA
Fitria R Andariny S
Bride
"Sangat rekomended, pelayananya luar biasa, tengah malam pun bahkan menjelang hari H masih selalu di support 👍👍"
JM
Josua Leonardo Manalu
Groom
"Mantap... respon cepat, terutama utk revisi2 yang mendadak dilakukan... even di hari libur, langsung direspon... keep up the good work..."
"Sangat Rekomendasi bagi teman yang ingin mengundang ke acara pernikahan atau metatah, simple karena sudah digital dan mengurangi penggunaan kertas...."
"sangat recomended, bikin undangan online di einvite sellernya ramah helpfull banget, hasilnya kece abis, toolsnya jg jelas dan mudah. top banget."
RZ
rorentz zheea
Wedding Client
Package Options Wedding Scale
All packages include QR Code registration & real-time attendance summaries.
Intimate Wedding
~100 Guests
Ideal for private family & close friend receptions. Fast check-in & simple recaps.
Consult Intimate
Medium Celebration
~300 Guests
Our most popular package for venue weddings. Includes WA blast & souvenir logging.
Consult Celebration
Grand Ballroom
1000+ Guests
Large-scale multi-gate solution with seating management & WO staff support.
Consult Grand Event
Frequently Asked Questions Wedding FAQ
Can this wedding guestbook display congratulatory wishes from guests?
Yes. The online RSVP confirmation page and on-site welcome screen can display real-time wishes and prayers from attending guests.
How does the system ensure fair souvenir distribution?
Staff members scan the guest’s QR Code at the souvenir counter. The system logs the pickup, ensuring each guest or family claims souvenir only once.
Do guests need to download an app to check in?
No app download is required for guests. They simply present the QR Code sent to their WhatsApp, or reception staff can look up their name in seconds.
What if a guest forgets their QR Code on the wedding day?
Reception staff can instantly search the guest’s name within 2 seconds using the rapid search bar on the reception dashboard.
Can elderly guests check in easily?
Very easily! Elderly guests only need to state their name to an usher or staff member, who will check them in digitally within seconds.
Can we assign dedicated family tables & VIP seating?
Absolutely. Our visual seating management supports grouping for large family tables, VIP guests, and colleagues with color indicators for ushers.
How does the system handle plus-one guests?
The system supports guest pax counts. Reception staff can adjust the number of attending companions upon scanning the QR Code pass.
Does the system work if venue internet is unstable?
Yes, our registration platform features local caching and lightweight architecture so QR scanning and check-in proceed smoothly.