/* Nepal Answers 2026 mobile-first experience, loaded after legacy styles.
   Fluid layouts, clear hit targets, readable cards and predictable scroll areas.
   No external fonts/frameworks and no layout-dependent JavaScript. */
:root{--na-ink:#19362f;--na-teal:#0b6955;--na-wash:#f5f9f6;--na-outline:#cddfd6;--na-focus:#ae4b23;--na-radius:18px}
html{overflow-x:clip;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{min-width:320px;overflow-x:clip;background:var(--na-wash);color:var(--na-ink)}
body,button,input,select,textarea{font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}
*,*::before,*::after{box-sizing:border-box}
:where(.container,.content-page,.page-inner,.page-home,section,article,aside,form,dl,figure){min-width:0}
:where(img,svg,video,iframe){max-width:100%}
:where(p,dd,dt,li,h1,h2,h3,h4,th,td,a,code){overflow-wrap:anywhere}
:where(h1,h2,h3){line-height:1.13;text-wrap:balance}
:where(p,li,dd){line-height:1.62}
:where(button,.button,input[type=submit],input[type=button],summary){touch-action:manipulation}
:where(a,button,summary,input,select,textarea):focus-visible{outline:3px solid var(--na-focus);outline-offset:3px}
:where(input:not([type=checkbox]):not([type=radio]),select,textarea){max-width:100%;min-width:0}
:where(table){border-collapse:collapse}
:where(.table-scroll,.table-wrap,.admin-table-wrap,.loan-table-wrap,.savings-table-wrap,.visa-dataset-table-wrap,.cricos-results-table-wrap,.comparison-table-wrap,.passport-compare-table-wrap){max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
:where(.table-scroll,.table-wrap,.admin-table-wrap,.loan-table-wrap,.savings-table-wrap,.visa-dataset-table-wrap,.cricos-results-table-wrap,.comparison-table-wrap,.passport-compare-table-wrap) table{min-width:max-content}
:where(.card,.article-card,.service-card,.tool-card,.related-tool-card,.foreign-job-card,.loksewa-vacancy-card){min-width:0}
/* Reusable visual language across old/new templates */
:where(.card,.article-card,.service-card,.tool-card,.related-tool-card,.foreign-job-card,.loksewa-vacancy-card){border-radius:var(--na-radius);border-color:var(--na-outline);box-shadow:0 7px 28px rgba(10,58,45,.055)}
:where(.section-heading,.loksewa-vacancy-heading,.vacancy-detail-heading){max-width:100%}
:where(.button,.header-explore,.vacancy-search button,.vacancy-card-actions a){transition:background-color .16s,border-color .16s,color .16s;transform:none}
:where(.button,.header-explore,.vacancy-search button,.vacancy-card-actions a):hover{transform:none}
/* Lok Sewa: correct mobile card layout and long Nepali text */
.loksewa-vacancy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.loksewa-vacancy-card{display:flex;flex-direction:column;gap:0;min-width:0;overflow:hidden;border:1px solid var(--na-outline);background:#fff}
.loksewa-vacancy-card .vacancy-card-top{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px 12px;margin-bottom:16px}
.loksewa-vacancy-card .vacancy-card-top span{font-variant-numeric:tabular-nums;font-weight:750;max-width:100%}
.loksewa-vacancy-card .vacancy-card-top strong{max-width:100%;white-space:normal;text-align:left;line-height:1.3}
.loksewa-vacancy-card h3{font-size:clamp(1.12rem,1.4vw,1.31rem);line-height:1.32;letter-spacing:0;word-break:normal;overflow-wrap:anywhere}
.loksewa-vacancy-card :is(.vacancy-class,.vacancy-office){margin:0 0 9px;line-height:1.5;white-space:normal}
.loksewa-vacancy-card .vacancy-office{margin-bottom:16px}
.loksewa-vacancy-card dl{display:grid;gap:0;margin:auto 0 14px;padding-top:10px;border-top:1px solid #e4eee7}
.loksewa-vacancy-card dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:8px 0;border-bottom:1px solid #eef3ef}
.loksewa-vacancy-card dt{margin:0;font-size:.8rem;color:#506a5d}
.loksewa-vacancy-card dd{margin:0;max-width:100%;font-size:.89rem;font-weight:800;color:#173b31;white-space:normal;text-align:right;font-variant-numeric:tabular-nums}
.loksewa-vacancy-card .vacancy-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.loksewa-vacancy-card .vacancy-card-actions a{min-width:0;min-height:48px;padding:10px 8px;font-size:.79rem;line-height:1.25;white-space:normal}
.loksewa-vacancy-card .vacancy-reminder-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;margin-top:9px;padding:9px 12px;border:1px solid #d4e5db;border-radius:10px;color:#185b4a;background:#f4faf6;font-weight:800;font-size:.81rem;text-align:center;text-decoration:none}
.loksewa-vacancy-card .vacancy-reminder-link:hover{background:#e2f1e7}
.vacancy-search>div{display:flex;flex-wrap:wrap;gap:10px}
.vacancy-search input{min-width:0;flex:1 1 220px;max-width:100%;font-size:1rem}
.vacancy-updated{max-width:100%;white-space:normal;line-height:1.4}
.vacancy-detail-heading>*{min-width:0}
.vacancy-detail-page :is(.vacancy-number,.vacancy-fact-panel,.vacancy-apply-panel){min-width:0}
.vacancy-fact-panel dl div{min-width:0}
/* Admin: responsive information density, not a cropped table */
.na-job-health-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 22px}
.na-job-health-summary>div{padding:18px 20px;border-radius:16px;border:1px solid #d5e3dc;background:#f6faf7}
.na-job-health-summary strong{display:block;color:#155544;font-size:clamp(1.6rem,3vw,2.2rem);line-height:1.2;font-variant-numeric:tabular-nums}
.na-job-health-summary span{display:block;margin-top:6px;color:#45675a;font-size:.82rem;font-weight:750}
.na-source-note{padding:14px 18px;border-left:4px solid #14715b;border-radius:0 10px 10px 0;background:#eff8f2;color:#244b3d}
.na-operation-pill{display:inline-flex;gap:5px;align-items:center;padding:5px 10px;border-radius:99px;background:#eff5f2;color:#385d50;font-weight:800;font-size:.76rem}
.na-operation-pill[data-health=HEALTHY]{background:#e3f4e9;color:#176147}
.na-operation-pill[data-health=FAILED],.na-operation-pill[data-health=OVERDUE],.na-operation-pill[data-health=LONG_RUNNING]{background:#fff0e8;color:#91391c}
/* Responsive shell, cards, steps, forms, tables and tool screens */
@media(max-width:1100px){
 .container{width:min(100% - 36px,1240px)}
 .loksewa-vacancy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 :where(.foreign-job-grid,.tools-grid,.article-grid,.related-tools-grid){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
 .container{width:calc(100% - 32px);max-width:100%}
 .site-header{z-index:100}
 .header-inner{min-height:66px;gap:8px}
 .brand{min-width:0;gap:8px}
 .brand-copy strong{font-size:.93rem}
 .brand-copy small{font-size:.62rem}
 .header-actions{gap:6px;margin-left:auto}
 .header-explore,.header-actions .header-search:first-child{display:none}
 .header-search{padding:0 9px;min-height:44px;border-radius:10px}
 .mobile-menu{display:block;position:relative;z-index:110}
 .mobile-menu summary{width:48px;height:48px}
 .mobile-menu nav{position:fixed;top:70px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 170px);overflow:auto;overscroll-behavior:contain;border-radius:16px;padding:12px;background:#fff;box-shadow:0 24px 58px rgba(0,35,30,.2);z-index:111}
 .mobile-menu nav>a{min-height:48px;align-items:center}
 .mobile-dock{z-index:99;grid-template-columns:repeat(5,minmax(0,1fr));padding-bottom:max(8px,env(safe-area-inset-bottom));}
 .mobile-dock a{min-width:0;min-height:50px;padding:5px 1px}
 .mobile-dock small{font-size:.66rem;line-height:1.15}
 .utility-bar{display:none}
 :where(.home-hero,.loksewa-hero,.vacancy-detail-hero){padding-top:32px}
 :where(.home-hero-grid,.loksewa-hero-grid,.loksewa-content-grid,.vacancy-detail-layout,.foreign-job-detail-grid,.destination-layout,.visa-profile){display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
 .home-hero h1{font-size:clamp(2.6rem,10vw,4.4rem);line-height:1.02}
 :where(.home-hero,.loksewa-hero){min-height:0}
 .section{padding-block:clamp(36px,8vw,64px)}
 .loksewa-vacancies{padding:36px 0 56px}
 .loksewa-vacancy-heading{display:grid;gap:12px;align-items:start}
 .vacancy-updated{justify-self:start}
 .loksewa-vacancy-grid{grid-template-columns:minmax(0,1fr);gap:13px}
 .loksewa-vacancy-card{padding:18px;border-radius:16px}
 .loksewa-vacancy-card dl>div{grid-template-columns:minmax(0,1fr) auto}
 .loksewa-vacancy-card .vacancy-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .vacancy-pagination{grid-template-columns:1fr 1fr;gap:8px}
 .vacancy-pagination strong{grid-column:1 / -1;grid-row:1;text-align:center}
 .vacancy-pagination a{grid-row:2;text-align:center;min-width:0}
 .vacancy-pagination a:last-child{grid-column:2;justify-self:stretch}
 .vacancy-pagination a:first-child{justify-self:stretch}
 .vacancy-search{padding:14px}
 .vacancy-search>div{display:grid;grid-template-columns:minmax(0,1fr) auto}
 .vacancy-search input{width:100%;min-width:0;grid-column:1 / -1}
 .vacancy-search button{grid-column:1 / -1}
 .vacancy-search a{grid-column:1 / -1;text-align:center}
 :where(.foreign-job-grid,.tools-grid,.article-grid,.related-tools-grid,.directory-list,.jobs-grid,.study-card-grid){grid-template-columns:minmax(0,1fr)}
 :where(.article-actions,.loksewa-actions,.visa-profile-actions){flex-wrap:wrap;gap:10px}
 :where(.article-actions button,.loksewa-actions a){min-height:46px}
 :where(.vacancy-fact-panel dl>div,.foreign-job-facts dl>div){grid-template-columns:minmax(0,1fr);gap:4px}
 :where(.footer-inner,.footer-bottom){gap:20px}
 .na-job-health-summary{grid-template-columns:1fr;gap:8px}
 :where(.admin-table-wrap,.visa-dataset-table-wrap){border-radius:12px}
 :where(.admin-table-wrap,.visa-dataset-table-wrap)::after{content:'Swipe horizontally to view more columns';display:block;padding:9px;color:#506e60;background:#f3f8f5;font-size:.75rem;text-align:center}
}
@media(max-width:390px){
 .container{width:calc(100% - 24px)}
 .brand-copy small{display:none}
 .header-search{font-size:.72rem}
 .loksewa-vacancy-card .vacancy-card-top{display:grid}
 .loksewa-vacancy-card .vacancy-card-top strong{justify-self:start}
 .loksewa-vacancy-card .vacancy-card-actions{grid-template-columns:1fr}
 .na-job-health-summary>div{padding:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media print{.mobile-dock,.mobile-menu,.header-actions,.navigation-progress,.vacancy-reminder-link{display:none!important}.loksewa-vacancy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.loksewa-vacancy-card{break-inside:avoid;box-shadow:none}}
