/* Local type assets keep the identity independent of third-party font services. */
@font-face{font-family:NganggungEditorial;src:url('../fonts/freeserif.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:NganggungSans;src:url('../fonts/freesans.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:NganggungSans;src:url('../fonts/freesansb.ttf') format('truetype');font-style:normal;font-weight:700;font-display:swap}
.app-brand strong{font-size:18px;letter-spacing:.075em;line-height:1.25;max-width:300px}
.app-brand small{line-height:1.6;margin-top:5px}
.auth-wordmark{font-size:clamp(20px,2.4vw,29px);letter-spacing:.07em;line-height:1.35;max-width:540px}
.auth-wordmark span{letter-spacing:.015em;line-height:1.65;max-width:360px;margin-top:10px}
.auth-story h1{font-family:NganggungEditorial,Georgia,serif;font-weight:400;font-size:clamp(42px,4.8vw,70px);line-height:1.08;letter-spacing:-.025em;max-width:620px;text-wrap:balance}
.auth-story{background-image:none!important}
.auth-description{line-height:1.85;max-width:460px}
.auth-card h2,.app-main h2{font-weight:650;letter-spacing:-.035em;line-height:1.2;text-wrap:balance}
.auth-card label,.ui-card label{line-height:1.6}
.auth-eyebrow,.nav-group-title{letter-spacing:.14em}
.auth-mobile-brand span{display:block;font-size:11px;font-weight:400;letter-spacing:0;margin-top:7px;line-height:1.6}
.app-main{line-height:1.65}.app-main table{line-height:1.55;font-variant-numeric:tabular-nums}
.partner-logos{display:flex;align-items:center;justify-content:flex-start;gap:14px;flex-wrap:wrap;margin:0 0 22px}
.partner-logo{display:block;object-fit:contain;max-width:160px;width:auto;height:46px;padding:7px 10px;border-radius:9px;background:#fff;border:1px solid #dfe7ed}
.partner-logo-institution_logo{max-width:85px}.header-actions .partner-logos{margin:0;flex-wrap:nowrap}
.header-actions .partner-logo{height:40px;max-width:120px}.partner-upload{padding:18px;border:1px solid var(--line);border-radius:12px}.partner-upload h4{font-weight:650;margin:0 0 16px}
.ui-button.secondary{background:transparent;color:var(--navy)!important;border:1px solid var(--line)}
html[data-ui-theme=dark] .ui-button.secondary{color:#e2e8f0!important;border-color:#64748b}
.site-footer strong{letter-spacing:.055em;font-size:13px}.site-footer p{line-height:1.7}
@media(max-width:1050px){.app-header{height:auto;min-height:84px;padding-top:16px;padding-bottom:16px;flex-wrap:wrap}.header-actions{flex-wrap:wrap;gap:12px}}
@media(max-width:767px){.app-brand strong{font-size:15px;max-width:230px}.app-brand small{max-width:230px}.header-actions .partner-logo{height:32px;max-width:100px}.partner-logos{gap:8px}.auth-mobile-brand{letter-spacing:.075em;line-height:1.6}}

/* NGANGGUNG visual system: maritime navy, warm Bangka sand, and terracotta action color. */
:root{--ng-navy:#123047;--ng-sand:#f3eadb;--ng-terracotta:#c45a3b;--ng-teal:#247c78;--ng-ink:#173042}
body{font-family:NganggungSans,FreeSans,sans-serif;background:var(--ng-sand)}
.auth-story{background-image:none!important;background-color:var(--ng-navy)!important;position:relative;overflow:hidden}
.auth-story:after{content:"";position:absolute;inset:auto -8% -35% 45%;height:55%;border-top:1px solid #e6c9a655;border-radius:50%;transform:rotate(-8deg);pointer-events:none}
.app-brand strong,.auth-wordmark,.kb-hero h1,.kb-article h1{font-family:NganggungEditorial,FreeSerif,serif}
.app-main form.bg-white,.app-main section.bg-white,.metric-card,.workflow-panel{box-shadow:none!important;border-color:#cdbfae!important}
.ui-button{background:var(--ng-terracotta)!important;border-radius:7px!important;box-shadow:none!important;transition:transform .15s ease,background-color .15s ease}
.ui-button:hover{background:#9e432e!important;transform:translateY(-2px)}
.ui-button.secondary{color:var(--ng-navy)!important;border-color:#a9957d!important;background:transparent!important}
.nav-link.is-active{border-left:3px solid var(--ng-terracotta);border-radius:0 8px 8px 0;background:#efe1cf!important;color:var(--ng-navy)!important}
.knowledge-portal{--kb-accent:var(--ng-terracotta);--kb-teal:var(--ng-teal);background-color:var(--ng-sand);background-image:repeating-linear-gradient(0deg,transparent,transparent 31px,#12304709 32px)}
.kb-header{background:var(--ng-navy);color:#fff;border-bottom:4px solid var(--ng-terracotta);padding-top:20px;padding-bottom:20px}
.kb-header small{color:#d8c9b5}.kb-header nav .theme-toggle{border-color:#d8c9b5}
.kb-main{padding-top:8px}.kb-hero{padding:86px 0 44px;max-width:910px;position:relative}.kb-hero:before{content:"/";position:absolute;right:8%;top:54px;color:var(--ng-terracotta);font:120px/1 NganggungEditorial,serif;opacity:.8;transform:rotate(18deg)}
.kb-hero h1{font-size:clamp(42px,6vw,78px);max-width:780px;letter-spacing:-.02em}.kb-search{border-left:5px solid var(--ng-terracotta);border-radius:2px;background:#fffaf1;box-shadow:none}.kb-search input,.kb-search select{border-color:#cdbfae;border-radius:3px}.kb-search .ui-button{background:var(--ng-terracotta)!important}
.kb-topics{margin:16px 0 42px;border-top:1px solid #b9a58c;padding-top:14px}.kb-topics a{border:0;border-bottom:1px solid #b9a58c;border-radius:0;background:transparent;padding:5px 2px;color:var(--ng-navy);transition:color .15s,border-color .15s}.kb-topics a:hover{color:var(--ng-terracotta);border-color:var(--ng-terracotta)}
.kb-grid{grid-template-columns:1.15fr .85fr 1fr;align-items:start}.kb-card{border:0;border-top:4px solid var(--ng-teal);border-radius:0;background:#fffaf1}.kb-card:nth-child(3n+2){margin-top:34px;border-top-color:var(--ng-terracotta)}.kb-card:nth-child(3n){border-top-color:var(--ng-navy)}.kb-card>img{height:210px;filter:saturate(.82)}.kb-card-body{padding:22px 24px 26px}.kb-card h2 a{font-family:NganggungEditorial,serif}.kb-empty{border:1px solid #b9a58c;border-radius:0;background:#fffaf1}.kb-panel{border:0;border-top:3px solid var(--ng-teal);border-radius:0;background:#fffaf1}.kb-material{border-color:#d9cbb9}.kb-article{max-width:900px}.kb-prose{max-width:760px}
html[data-ui-theme=dark] .knowledge-portal{background:#10202b;background-image:none}html[data-ui-theme=dark] .kb-header{background:#0b1a24}html[data-ui-theme=dark] .kb-card,html[data-ui-theme=dark] .kb-search,html[data-ui-theme=dark] .kb-empty,html[data-ui-theme=dark] .kb-panel{background:#172b38;color:#edf3f6;border-color:#537080}html[data-ui-theme=dark] .kb-card h2 a,html[data-ui-theme=dark] .kb-topics a{color:#edf3f6}html[data-ui-theme=dark] .ui-button.secondary{color:#f3d2c7!important;border-color:#a97867!important}
