:root{--bg:#fffaf7;--surface:#fff;--surface-soft:#fff2ee;--ink:#2b1c26;--muted:#77666f;--primary:#a43762;--primary-dark:#76213f;--accent:#e8b57a;--line:#eadde2;--success:#21845a;--danger:#b34545;--warning:#b77a1d;--shadow:0 24px 70px rgba(84,35,57,.13);--radius:28px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:linear-gradient(180deg,#fffaf7 0%,#fff 54%,#fff7f2 100%);color:var(--ink);font-family:"Noto Sans Sinhala",system-ui,-apple-system,sans-serif;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%}.container{width:min(1160px,calc(100% - 32px));margin:auto}.ambient{position:fixed;border-radius:50%;filter:blur(12px);pointer-events:none;z-index:-1;opacity:.42}.ambient-one{width:380px;height:380px;background:#f4c8d8;top:-180px;right:-120px}.ambient-two{width:300px;height:300px;background:#f5dcb9;bottom:-160px;left:-120px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,250,247,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(234,221,226,.75)}.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,var(--primary),#d66c83);color:white;box-shadow:0 10px 25px rgba(164,55,98,.25)}.brand strong{display:block;font-family:"Playfair Display",serif;font-size:1.22rem}.brand small{display:block;color:var(--muted);font-size:.68rem}.main-nav{display:flex;align-items:center;gap:24px;font-size:.88rem;font-weight:600}.main-nav a{transition:.25s}.main-nav a:hover{color:var(--primary)}.nav-pill{padding:10px 16px;border-radius:999px;background:var(--ink);color:#fff!important}.nav-toggle{display:none;border:0;background:none;font-size:1.7rem}.hero{padding:92px 0 78px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--primary);font-weight:800;letter-spacing:.09em;text-transform:uppercase;font-size:.72rem}.hero h1,.page-hero h1{font-family:"Playfair Display",serif;font-size:clamp(2.8rem,6vw,5.4rem);line-height:1.02;margin:18px 0 24px;letter-spacing:-.04em}.hero h1 span{color:var(--primary);font-style:italic}.hero-copy{font-size:1.08rem;color:var(--muted);max-width:680px}.hero-actions,.form-actions{display:flex;gap:14px;align-items:center;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:14px 22px;font-weight:800;font-family:inherit;cursor:pointer;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-dark));color:#fff;box-shadow:0 15px 30px rgba(164,55,98,.25)}.btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}.trust-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;color:var(--muted);font-size:.82rem}.hero-card{min-height:540px;position:relative;border-radius:42px;background:radial-gradient(circle at 50% 30%,#fbe8ed,transparent 42%),linear-gradient(145deg,#fff,#f6e9e7);box-shadow:var(--shadow);overflow:hidden;border:1px solid #f1e1e5}.heart-orbit{position:absolute;width:280px;height:280px;border:1px solid rgba(164,55,98,.25);border-radius:50%;left:50%;top:44%;transform:translate(-50%,-50%);animation:spin 14s linear infinite}.heart-orbit:before,.heart-orbit:after{content:"";position:absolute;border:1px dashed rgba(164,55,98,.18);border-radius:50%;inset:28px}.heart-orbit:after{inset:62px}.heart-orbit span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:120px;height:120px;border-radius:38px;background:linear-gradient(135deg,var(--primary),#dc8194);color:#fff;font-size:3.2rem;box-shadow:0 25px 60px rgba(164,55,98,.3)}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}.mini-card{position:absolute;padding:14px 18px;border-radius:18px;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);box-shadow:0 12px 30px rgba(66,27,44,.12);display:flex;gap:10px;align-items:center;font-size:.78rem}.mini-card strong{color:var(--primary)}.card-a{left:8%;top:16%;animation:float 4s ease-in-out infinite}.card-b{right:7%;top:29%;animation:float 4.7s ease-in-out infinite}.card-c{left:16%;bottom:27%;animation:float 5.2s ease-in-out infinite}@keyframes float{50%{transform:translateY(-10px)}}.hero-card-content{position:absolute;bottom:0;padding:34px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.94) 22%)}.hero-card-content h3{font-family:"Playfair Display",serif;font-size:1.75rem;line-height:1.25;margin:8px 0}.soft-label{font-size:.72rem;color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.section{padding:88px 0}.section-soft{background:linear-gradient(135deg,#fff0ec,#fff9f5);border-block:1px solid #f4e6e2}.section-heading{text-align:center;max-width:720px;margin:0 auto 42px}.section-heading h2,.split-panel h2,.cta-panel h2{font-family:"Playfair Display",serif;font-size:clamp(2rem,4vw,3.3rem);line-height:1.15;margin:10px 0}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.info-card,.bank-card,.form-card,.progress-card,.status-card,.profile-card,.review-card,.auth-card,.contact-card,.admin-table-card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 16px 48px rgba(84,35,57,.08)}.info-card{padding:30px;transition:.3s}.info-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.step-no{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:var(--surface-soft);color:var(--primary);font-weight:900}.info-card h3{margin:22px 0 8px}.info-card p{color:var(--muted);margin:0}.split-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:center}.bank-card{padding:26px;display:grid;gap:0}.bank-card>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.bank-card>div:last-child{border-bottom:0}.bank-card span{color:var(--muted);font-size:.83rem}.bank-card strong{text-align:right}.bank-card.small{margin-top:20px;padding:18px}.bank-card.small>div{display:block;padding:10px 0}.bank-card.small strong{display:block;text-align:left}.cta-panel{display:flex;justify-content:space-between;gap:40px;align-items:center;padding:44px;border-radius:34px;background:linear-gradient(135deg,#3c2030,#76213f);color:#fff;box-shadow:var(--shadow)}.cta-panel p{color:#ead7df}.page-hero{padding:74px 0 28px}.page-hero.compact h1{font-size:clamp(2.3rem,5vw,4.3rem);margin-bottom:12px}.page-hero p{color:var(--muted)}.form-section{padding-top:30px}.form-layout{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:start}.form-sidebar{position:sticky;top:108px}.progress-card{padding:24px}.progress-line{height:8px;border-radius:99px;background:#f0e4e8;overflow:hidden;margin:14px 0}.progress-line span{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--primary),var(--accent));transition:.35s}.progress-list{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:12px}.progress-list li{padding:10px 12px;border-radius:12px;color:var(--muted);font-size:.86rem}.progress-list li.active{background:var(--surface-soft);color:var(--primary);font-weight:800}.form-card{padding:34px}.form-step{display:none;animation:fadeSlide .35s ease}.form-step.active{display:block}@keyframes fadeSlide{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.form-title{display:flex;gap:16px;align-items:flex-start;margin-bottom:26px}.form-title>span{display:grid;place-items:center;min-width:46px;height:46px;border-radius:15px;background:var(--surface-soft);color:var(--primary);font-weight:900}.form-title h2{margin:0;font-size:1.45rem}.form-title p{margin:4px 0;color:var(--muted);font-size:.86rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field>span{font-weight:700;font-size:.83rem;color:#493541}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:15px;padding:13px 14px;background:#fffdfc;color:var(--ink);font:inherit;outline:none;transition:.2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#c67191;box-shadow:0 0 0 4px rgba(164,55,98,.08)}.upload-zone{position:relative;border:1px dashed #d6a5b7;border-radius:20px;padding:22px;background:#fff9fa;cursor:pointer}.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-placeholder{text-align:center;padding:22px}.upload-placeholder small{display:block;color:var(--muted)}.upload-zone img{max-height:280px;margin:auto;border-radius:16px;object-fit:contain}.consent-box{margin-top:22px;padding:18px;border-radius:18px;background:#fff8f6;display:grid;gap:14px}.consent-box label{display:flex;gap:12px;align-items:flex-start;font-size:.82rem}.form-actions{justify-content:flex-end;border-top:1px solid var(--line);padding-top:24px}.error-box{padding:16px 18px;border-radius:16px;background:#fff0f0;color:#8a3131;margin-bottom:22px;border:1px solid #f4c8c8}.error-box ul{margin:8px 0 0}.flash-wrap{padding-top:14px}.flash{padding:14px 18px;border-radius:14px}.flash-success{background:#eaf8f0;color:#176842}.flash-warning{background:#fff5df;color:#805915}.auth-section{min-height:70vh;display:grid;place-items:center;padding:70px 16px}.auth-card{width:min(520px,100%);padding:38px}.auth-card h1{font-family:"Playfair Display",serif;font-size:2.6rem;margin:8px 0}.stack-form{display:grid;gap:18px;margin-top:24px}.full-btn{width:100%}.auth-note{text-align:center;color:var(--muted);font-size:.86rem}.auth-note a{color:var(--primary);font-weight:800}.dashboard-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:26px}.status-card,.profile-card{padding:30px}.status-badge{display:inline-flex;padding:10px 15px;border-radius:999px;font-size:.8rem;font-weight:900;margin:16px 0}.status-pending{background:#fff2d9;color:#946012}.status-approved{background:#e5f7ee;color:#1b744e}.status-rejected{background:#ffe7e7;color:#9c3535}.compact-badge{margin:0;padding:6px 10px}.admin-note{padding:16px;border-radius:16px;background:#f9f2f5;margin-top:16px}.admin-note p{margin:6px 0 0}.muted{color:var(--muted)}.success-text{color:var(--success);font-weight:700}.danger-text{color:var(--danger);font-weight:700}.profile-head{display:flex;align-items:center;gap:16px;margin-bottom:26px}.avatar-circle{display:grid;place-items:center;width:66px;height:66px;border-radius:23px;background:linear-gradient(135deg,var(--primary),#de8198);color:#fff;font-size:1.7rem;font-weight:900}.profile-head h2{margin:0}.profile-head p{margin:2px 0;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:22px}.detail-grid>div{padding:15px;border-radius:15px;background:#fff8f6}.detail-grid span,.text-detail span,.detail-list span{display:block;color:var(--muted);font-size:.75rem}.detail-grid strong{display:block;margin-top:4px}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.contact-card{padding:32px;display:flex;align-items:center;gap:22px;transition:.3s}.contact-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.contact-icon{display:grid;place-items:center;width:66px;height:66px;border-radius:22px;background:var(--surface-soft);color:var(--primary);font-weight:900;font-size:1.2rem}.contact-card h2{margin:0}.contact-card p{color:var(--muted);margin:4px 0}.contact-card strong{color:var(--primary)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:26px}.stat-card{padding:22px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 35px rgba(84,35,57,.06)}.stat-card span{color:var(--muted);font-size:.8rem}.stat-card strong{display:block;font-size:2rem}.admin-table-card{overflow:hidden}.table-head{padding:24px 26px}.table-head h2{margin:4px 0}.table-scroll{overflow:auto}.admin-table{width:100%;border-collapse:collapse;min-width:860px}.admin-table th,.admin-table td{text-align:left;padding:16px 22px;border-top:1px solid var(--line);font-size:.84rem}.admin-table th{color:var(--muted);background:#fffaf8}.admin-table td small{display:block;color:var(--muted);margin-top:4px}.table-action{color:var(--primary);font-weight:900}.empty-cell{text-align:center!important;color:var(--muted)}.review-grid{display:grid;grid-template-columns:1fr 360px;gap:26px;align-items:start}.review-main{display:grid;gap:22px}.review-card{padding:28px}.review-card h2{margin-top:0}.detail-grid.wide{grid-template-columns:repeat(2,1fr)}.text-detail{padding-top:16px;border-top:1px solid var(--line);margin-top:16px}.text-detail p{margin:5px 0}.sticky-card{position:sticky;top:108px}.detail-list{display:grid;gap:12px}.detail-list>div{display:flex;justify-content:space-between;gap:20px;padding-bottom:10px;border-bottom:1px solid var(--line)}.receipt-preview{display:block;margin:20px 0;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.receipt-preview img{width:100%;height:240px;object-fit:cover;display:block}.receipt-preview span{display:block;padding:10px 14px;color:var(--primary);font-weight:800;font-size:.82rem}.site-footer{padding:58px 0 20px;background:#2c1c25;color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:42px}.footer-grid p,.footer-grid a{color:#cdbdc5;font-size:.84rem}.footer-grid a{display:block;margin:8px 0}.footer-brand{margin-bottom:14px}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:20px;margin-top:30px;color:#b9a9b1;font-size:.78rem}.floating-wa{position:fixed;right:20px;bottom:20px;z-index:60;display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:#25d366;color:#fff;font-weight:900;box-shadow:0 14px 30px rgba(37,211,102,.28)}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.24s}@media(max-width:960px){.hero-grid,.split-panel,.form-layout,.dashboard-grid,.review-grid{grid-template-columns:1fr}.hero-card{min-height:480px}.form-sidebar{position:static}.progress-list{grid-template-columns:repeat(4,1fr);gap:6px}.progress-list li{text-align:center;font-size:.7rem;padding:8px 4px}.steps-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.sticky-card{position:static}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}@media(max-width:720px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:82px;left:16px;right:16px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.hero{padding:62px 0}.hero h1{font-size:3rem}.hero-card{min-height:430px}.mini-card{font-size:.68rem}.card-a{left:4%}.card-b{right:3%}.card-c{left:8%}.section{padding:66px 0}.form-card{padding:22px 16px}.form-grid,.detail-grid,.detail-grid.wide,.contact-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.form-actions{justify-content:space-between}.form-actions .btn{flex:1}.cta-panel{display:block;padding:30px}.cta-panel .btn{margin-top:18px}.stats-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.bank-card>div{display:block}.bank-card strong{display:block;text-align:left;margin-top:5px}.progress-list{display:none}.review-card{padding:22px}.receipt-preview img{height:200px}}@media(max-width:430px){.container{width:min(100% - 22px,1160px)}.hero h1{font-size:2.55rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-card{min-height:390px}.heart-orbit{width:230px;height:230px}.heart-orbit span{width:100px;height:100px}.hero-card-content{padding:24px}.stats-grid{grid-template-columns:1fr}.contact-card{padding:24px}.site-header .brand small{display:none}}

/* Global loading and status popup UI */
[hidden]{display:none!important}.app-ui-locked{overflow:hidden}.app-loading-overlay,.app-status-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:rgba(31,18,27,.64);backdrop-filter:blur(12px);animation:appFadeIn .2s ease}.app-loading-card,.app-status-card{width:min(430px,100%);background:rgba(255,255,255,.98);border:1px solid rgba(255,255,255,.65);border-radius:28px;padding:30px;box-shadow:0 28px 90px rgba(31,18,27,.28);text-align:center;animation:appPopIn .28s cubic-bezier(.2,.8,.2,1)}.app-loading-card strong{display:block;margin-top:18px;font-size:1.08rem}.app-loading-card p,.app-status-card p{margin:8px 0 0;color:var(--muted);font-size:.9rem;line-height:1.65}.app-spinner{width:58px;height:58px;margin:auto;border-radius:50%;border:5px solid #f0dce4;border-top-color:var(--primary);animation:appSpin .8s linear infinite}.app-status-icon{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 18px;border-radius:24px;font-size:2rem;font-weight:900}.app-status-card h2{margin:0;font-family:"Playfair Display",serif;font-size:1.8rem}.app-status-close{min-width:140px;margin-top:22px}.app-status-details{margin:18px 0 0;padding:14px 14px 14px 34px;border-radius:16px;text-align:left;font-size:.8rem;line-height:1.6;background:#fff8f6;color:var(--muted);max-height:180px;overflow:auto}.app-status-details li+li{margin-top:7px}.app-status-overlay.is-success .app-status-icon{background:#e5f7ee;color:#1b744e}.app-status-overlay.is-error .app-status-icon{background:#ffe7e7;color:#9c3535}.app-status-overlay.is-warning .app-status-icon{background:#fff2d9;color:#946012}.app-status-overlay.is-info .app-status-icon{background:#eaf0ff;color:#345fa8}.app-status-overlay.is-error .app-status-close{background:linear-gradient(135deg,#b34545,#8d2f3e)}.btn:disabled{opacity:.62;cursor:not-allowed;transform:none!important}.progress-list li{cursor:pointer}.upload-zone img[data-file-preview]{box-shadow:0 10px 30px rgba(84,35,57,.12)}.error-box[data-dynamic-errors]{animation:appShake .35s ease}.flash-wrap{display:none}
@keyframes appSpin{to{transform:rotate(360deg)}}@keyframes appFadeIn{from{opacity:0}to{opacity:1}}@keyframes appPopIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}@keyframes appShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
@media(max-width:520px){.app-loading-card,.app-status-card{padding:24px 18px;border-radius:24px}.app-status-card h2{font-size:1.5rem}.app-status-icon{width:64px;height:64px;border-radius:20px}}

/* Applicant profile photo upload and secure preview */
.profile-photo-upload{background:linear-gradient(180deg,#fff,#fff8fb);border-style:solid}.profile-photo-upload img[data-image-preview]{width:min(280px,100%);height:350px;object-fit:cover;object-position:center;border-radius:22px;border:1px solid var(--line);box-shadow:0 18px 40px rgba(84,35,57,.14)}.photo-guidelines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;width:100%;margin-top:14px;padding:15px;border-radius:16px;background:#fff;color:var(--muted);font-size:.76rem;text-align:left}.photo-guidelines strong{grid-column:1/-1;color:var(--text);font-size:.82rem}.profile-photo-link{display:block;flex:0 0 auto}.profile-photo{width:82px;height:96px;border-radius:22px;object-fit:cover;object-position:center;border:3px solid #fff;box-shadow:0 14px 32px rgba(84,35,57,.18)}.admin-profile-photo-card{display:flex;align-items:center;gap:18px;padding:16px;margin:0 0 22px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#fff8f6,#fff);transition:.25s ease}.admin-profile-photo-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(84,35,57,.1)}.admin-profile-photo-card img{width:112px;height:138px;border-radius:18px;object-fit:cover;object-position:center}.admin-profile-photo-card span{display:grid;gap:5px}.admin-profile-photo-card strong{color:var(--text);font-size:1rem}.admin-profile-photo-card small{color:var(--primary);font-weight:800}.photo-missing-note{padding:14px 16px;margin-bottom:20px;border-radius:15px;background:#fff5df;color:#805915;font-size:.82rem}@media(max-width:720px){.photo-guidelines{grid-template-columns:1fr}.profile-photo-upload img[data-image-preview]{height:320px}.admin-profile-photo-card img{width:96px;height:120px}}

/* Kapukam V3: single-language UI and easier Sri Lankan application fields */
.language-switcher {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid rgba(164, 55, 98, .16);
    border-radius: 999px;
    background: rgba(255,255,255,.75);
    box-shadow: 0 8px 24px rgba(84,35,57,.08);
}
.language-switcher .language-choice {
    padding: 7px 12px;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    color: var(--muted);
    white-space: nowrap;
}
.language-switcher .language-choice.active {
    background: var(--primary);
    color: #fff;
}
.field > small,
.field-help {
    display: block;
    margin-top: 7px;
    color: var(--muted);
    font-size: .77rem;
    line-height: 1.55;
}
.field > span {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.optional-badge {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border-radius: 999px;
    background: #f4edf2;
    color: var(--primary);
    font-size: .68rem;
    font-style: normal;
    font-weight: 800;
}
.triple-select,
.height-selects {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}
.height-selects {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.triple-select select,
.height-selects select {
    width: 100%;
}
.language-summary {
    padding: 15px 16px;
    border: 1px dashed rgba(164,55,98,.25);
    border-radius: 16px;
    background: rgba(255,248,246,.7);
}
.language-summary strong {
    display: block;
    margin-top: 8px;
    color: var(--primary);
}
.photo-guidelines p {
    margin: 8px 0 0;
    padding-top: 8px;
    border-top: 1px solid rgba(164,55,98,.12);
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.55;
}
.dob-selects + small strong {
    display: inline-block;
    margin-inline-start: 6px;
    color: var(--primary);
}
.lang-si input,
.lang-si select,
.lang-si textarea,
.lang-si button,
.lang-si .btn {
    font-family: "Noto Sans Sinhala", system-ui, sans-serif;
}

@media (max-width: 920px) {
    .main-nav .language-switcher {
        width: fit-content;
        margin-top: 4px;
    }
}

@media (max-width: 640px) {
    .triple-select {
        grid-template-columns: 1fr;
    }
    .height-selects {
        grid-template-columns: 1fr 1fr;
    }
    .language-switcher {
        width: 100%;
        justify-content: center;
    }
    .language-switcher .language-choice {
        flex: 1;
        text-align: center;
    }
}


/* Visible language selector outside the mobile menu. */
.header-actions{
    display:flex;
    align-items:center;
    gap:12px;
    flex-shrink:0;
}
.language-switcher-visible{
    display:flex;
    align-items:center;
    gap:4px;
    padding:4px;
    border:1px solid var(--line);
    border-radius:999px;
    background:rgba(255,255,255,.92);
    box-shadow:0 8px 22px rgba(84,35,57,.08);
}
.language-switcher-visible .language-choice{
    min-width:72px;
    padding:7px 10px;
    border-radius:999px;
    text-align:center;
    font-size:.74rem;
    font-weight:800;
    color:var(--muted);
    line-height:1.2;
}
.language-switcher-visible .language-choice.active{
    background:linear-gradient(135deg,var(--primary),var(--primary-dark));
    color:#fff;
}

@media(max-width:1080px){
    .main-nav{gap:15px;font-size:.81rem}
    .language-switcher-visible .language-choice{min-width:64px;padding:7px 8px}
}

@media(max-width:720px){
    .nav-wrap{height:76px;gap:10px}
    .brand{min-width:0;flex:1}
    .brand strong{font-size:1.02rem;white-space:nowrap}
    .header-actions{gap:7px}
    .language-switcher-visible{padding:3px;gap:2px}
    .language-switcher-visible .language-choice{
        min-width:auto;
        padding:7px 8px;
        font-size:.68rem;
    }
    .nav-toggle{
        display:grid;
        place-items:center;
        width:40px;
        height:40px;
        border:1px solid var(--line);
        border-radius:13px;
        background:#fff;
        font-size:1.25rem;
    }
    .main-nav{top:76px}
}

@media(max-width:430px){
    .brand-mark{width:38px;height:38px}
    .brand small{display:none}
    .language-switcher-visible .language-choice{padding:7px 6px;font-size:.64rem}
}

/* WhatsApp icon button and footer contact links */
.footer-contact-link{
    display:flex!important;
    align-items:center;
    gap:11px;
    width:fit-content;
    max-width:100%;
    margin:12px 0!important;
    padding:10px 13px;
    border-radius:14px;
    background:rgba(255,255,255,.06);
    transition:transform .2s ease,background .2s ease;
}
.footer-contact-link:hover{
    transform:translateY(-2px);
    background:rgba(255,255,255,.11);
}
.footer-contact-link>span:last-child{
    min-width:0;
    display:grid;
    line-height:1.25;
}
.footer-contact-link strong{
    color:#fff;
    font-size:.84rem;
}
.footer-contact-link small{
    color:#cdbdc5;
    font-size:.73rem;
    overflow-wrap:anywhere;
}
.contact-link-icon{
    flex:0 0 auto;
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border-radius:12px;
    background:#25d366;
    color:#fff;
}
.contact-link-icon.email-icon{
    background:var(--primary);
}
.contact-link-icon svg{
    width:21px;
    height:21px;
    display:block;
}
.floating-wa{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:auto!important;
    min-width:58px;
    height:58px!important;
    padding:0 17px!important;
    border-radius:999px!important;
    background:#25d366!important;
    color:#fff!important;
    box-shadow:0 14px 32px rgba(37,211,102,.34)!important;
    transition:transform .22s ease,box-shadow .22s ease;
}
.floating-wa:hover{
    transform:translateY(-3px) scale(1.02);
    box-shadow:0 18px 38px rgba(37,211,102,.42)!important;
}
.floating-wa svg{
    flex:0 0 auto;
    width:30px;
    height:30px;
    display:block;
}
.floating-wa-label{
    font-size:.82rem;
    font-weight:800;
    letter-spacing:.01em;
}
@media(max-width:520px){
    .floating-wa{
        right:14px!important;
        bottom:14px!important;
        width:58px!important;
        min-width:58px;
        padding:0!important;
    }
    .floating-wa-label{
        display:none;
    }
}

/* Admin applicant matching panel */
.admin-quick-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    margin-bottom:22px;
    padding:18px 20px;
    border:1px solid rgba(164,55,98,.18);
    border-radius:20px;
    background:linear-gradient(135deg,#fff8fa,#fff);
}
.admin-quick-actions span{color:var(--muted);font-size:.84rem}
.matching-hero-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
.matching-hero-row>div:first-child{max-width:820px}
.matching-stats{margin-bottom:26px}
.matching-selector-card,.selected-match-person,.empty-matching-state,.match-suggestion-card,.match-record-card{
    border:1px solid var(--line);
    border-radius:26px;
    background:rgba(255,255,255,.96);
    box-shadow:0 16px 48px rgba(84,35,57,.08);
}
.matching-selector-card{padding:28px;margin-bottom:26px}
.matching-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:42px 0 20px}
.matching-section-heading h2{margin:6px 0;font-family:"Playfair Display",serif;font-size:2rem;line-height:1.15}
.matching-section-heading p{margin:0;color:var(--muted);font-size:.86rem;max-width:780px}
.matching-filter-form{display:grid;grid-template-columns:minmax(280px,1fr) 190px auto;gap:14px;align-items:end;margin-top:22px}
.matching-count{display:inline-flex;padding:8px 12px;border-radius:999px;background:var(--surface-soft);color:var(--primary);font-size:.78rem;font-weight:800;white-space:nowrap}
.selected-match-person{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:22px;margin-top:28px;background:linear-gradient(135deg,#fff5f8,#fff)}
.match-person-photo{width:86px;height:104px;border-radius:22px;overflow:hidden;background:linear-gradient(135deg,var(--primary),#d77891);display:grid;place-items:center;color:#fff;font-family:"Playfair Display",serif;font-size:2rem;font-weight:800;box-shadow:0 14px 30px rgba(164,55,98,.18)}
.match-person-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.match-person-photo.candidate-photo{width:72px;height:88px;border-radius:19px}
.selected-match-content h2{margin:4px 0;font-family:"Playfair Display",serif;font-size:1.75rem}
.match-person-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.match-person-facts span{padding:6px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--muted);font-size:.75rem}
.selected-match-actions{display:grid;gap:10px}
.btn-whatsapp{background:#25d366;color:#fff;box-shadow:0 12px 28px rgba(37,211,102,.25)}
.match-suggestion-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.match-suggestion-card{padding:22px;display:grid;gap:18px}
.match-suggestion-top{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}
.match-candidate-name>span,.match-pair-names>div>span{color:var(--primary);font-size:.7rem;font-weight:800;letter-spacing:.06em}
.match-candidate-name h3{margin:2px 0;font-size:1.1rem}
.match-candidate-name p{margin:0;color:var(--muted);font-size:.78rem}
.match-score-ring{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;align-content:center;text-align:center;border:6px solid #eadde2;background:#fff}
.match-score-ring strong{font-size:1.1rem;line-height:1}.match-score-ring small{font-size:.56rem;line-height:1.2;margin-top:4px;padding:0 5px}
.match-score-excellent{border-color:#35a36f;color:#1f7852}.match-score-strong{border-color:#7396d8;color:#365e9e}.match-score-possible{border-color:#e0a94d;color:#8a5f15}.match-score-review{border-color:#cfc1c7;color:#6e5f66}
.match-candidate-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.match-candidate-facts>span{padding:10px;border-radius:14px;background:#fff8f6;border:1px solid #f2e6e2;min-width:0}
.match-candidate-facts small{display:block;color:var(--muted);font-size:.64rem}.match-candidate-facts strong{display:block;font-size:.78rem;overflow-wrap:anywhere}
.match-breakdown{border-top:1px solid var(--line);padding-top:13px}
.match-breakdown summary{cursor:pointer;color:var(--primary);font-weight:800;font-size:.78rem}
.match-components{display:grid;gap:8px;margin-top:12px}
.match-component-row{display:flex;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:12px;background:#fff9f7}
.match-component-row>div{min-width:0}.match-component-row strong{display:block;font-size:.73rem}.match-component-row small{display:block;color:var(--muted);font-size:.65rem;overflow-wrap:anywhere}.match-component-row>span{font-weight:900;font-size:.72rem;white-space:nowrap;color:var(--primary)}
.match-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.match-card-actions form{margin:0}.compact-btn{padding:10px 14px;font-size:.73rem}.match-existing-btn{background:#edf8f2;color:#1f7852;border:1px solid #cdeada}
.empty-matching-state{padding:38px;text-align:center}.empty-matching-state strong{display:block;font-size:1.05rem}.empty-matching-state p{color:var(--muted);margin:7px 0 0}
.matching-records-heading{margin-top:62px}
.match-status-filter label{display:flex;align-items:center;gap:10px}.match-status-filter span{font-size:.75rem;font-weight:800}.match-status-filter select{border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:#fff;font:inherit}
.match-record-list{display:grid;gap:18px}.match-record-card{padding:22px;scroll-margin-top:110px}.match-record-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.match-pair-names{display:flex;align-items:center;gap:16px}.match-pair-names>div{display:grid}.match-pair-names>div strong{font-size:.93rem}.match-pair-names>div small{color:var(--muted);font-size:.7rem}.pair-heart{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--surface-soft);color:var(--primary)}
.match-record-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.match-score-pill{padding:8px 11px;border-radius:999px;border:2px solid currentColor;background:#fff;font-weight:900;font-size:.76rem}
.match-record-links{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.match-record-links a{padding:7px 10px;border-radius:10px;background:#fff8f6;color:var(--primary);font-size:.7rem;font-weight:800}
.match-component-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.match-component-chips span{padding:6px 9px;border-radius:999px;background:#fff8f6;font-size:.66rem;color:var(--muted)}
.match-record-form{display:grid;grid-template-columns:220px 1fr auto;gap:12px;align-items:end;margin-top:16px}.match-note-field textarea{min-height:68px}.refresh-match-form{margin-top:8px;text-align:right}.refresh-match-form button{border:0;background:none;cursor:pointer}
.status-badge.match-status-suggested{background:#f3edf8;color:#765392}.status-badge.match-status-contacted{background:#e8f1ff;color:#3a6297}.status-badge.match-status-interested{background:#fff4d8;color:#8a641b}.status-badge.match-status-accepted{background:#e7f7ee;color:#1f7852}.status-badge.match-status-rejected{background:#ffeaea;color:#9e4040}.status-badge.match-status-married{background:#fce8ef;color:#9b315b}.status-badge.match-status-closed{background:#efedef;color:#655b60}
.admin-find-match-btn{margin:16px 0}.matching-not-ready-note{margin:16px 0;padding:12px 14px;border-radius:14px;background:#fff5df;color:#805915;font-size:.76rem}

@media(max-width:980px){
    .match-suggestion-grid{grid-template-columns:1fr}
    .matching-filter-form{grid-template-columns:1fr 180px}.matching-filter-form .btn{grid-column:1/-1}
    .match-record-form{grid-template-columns:1fr 1fr}.match-record-form .btn{grid-column:1/-1}
}
@media(max-width:720px){
    .admin-quick-actions,.matching-hero-row,.matching-section-heading{align-items:stretch;flex-direction:column}
    .matching-filter-form{grid-template-columns:1fr}.matching-filter-form .btn{grid-column:auto}
    .selected-match-person{grid-template-columns:auto 1fr}.selected-match-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}
    .match-suggestion-top{grid-template-columns:auto 1fr}.match-score-ring{grid-column:1/-1;width:100%;height:auto;border-radius:16px;border-width:2px;padding:10px;display:flex;justify-content:center;gap:8px}.match-score-ring small{font-size:.66rem}
    .match-candidate-facts{grid-template-columns:1fr}
    .match-record-header{align-items:flex-start;flex-direction:column}.match-record-meta{justify-content:flex-start}
    .match-pair-names{width:100%;justify-content:space-between;gap:8px}.match-pair-names>div{flex:1}.pair-heart{flex:0 0 auto}
    .match-record-form{grid-template-columns:1fr}
    .match-status-filter label{align-items:stretch;flex-direction:column}
}
@media(max-width:460px){
    .selected-match-person{grid-template-columns:1fr;text-align:center}.match-person-photo{margin:auto}.match-person-facts{justify-content:center}.selected-match-actions{grid-template-columns:1fr}
    .match-card-actions{align-items:stretch;flex-direction:column}.match-card-actions .btn,.match-card-actions form,.match-card-actions button{width:100%}
    .match-pair-names{align-items:center;flex-direction:column;text-align:center}.pair-heart{transform:rotate(90deg)}
}
