/* Shared UIN Palopo palette: teal, gold, white and mint. Also shipped in SAPA. */
:root,html:not([data-theme=dark]),html[data-theme=light] {
 --teal:#007f80; --teal-deep:#004d50; --gold:#ffd044; --gold-hover:#f4be24; --on-gold:#073d3f;
 --green:#007477; --green-strong:#005b5e; --green-soft:#e0f3ef; --mint:#00998e;
 --ink:#10383d; --text:#10383d; --muted:#476568; --subtle:#567376;
 --canvas:#f2faf7; --bg:#f2faf7; --surface:#fff; --surface-low:#e9f6f1; --surface-2:#e9f6f1; --surface-container:#dcefe9;
 --line:#d3e7e1; --border:#d3e7e1; --line-strong:#b4d2c9; --border-strong:#b4d2c9;
 --brand:#007477; --brand-hover:#005b5e; --brand-soft:#e0f3ef; --on-brand:#fff; --link:#006e71;
 --input-bg:#fff; --header-bg:#fffffff2; --hero-veil:#f2faf7eb; --focus:#007477;
 --brand-hero:linear-gradient(125deg,#005e63,#008b89 65%,#00968c);
 --brand-photo-veil:#007f80bd;
}
:root[data-theme=dark],html[data-theme=dark] {
 --teal:#007f80; --teal-deep:#003c40; --gold:#ffd044; --gold-hover:#f4be24; --on-gold:#073d3f;
 --green:#8cddd0; --green-strong:#b1eee3; --green-soft:#153e3c; --mint:#55cdb9;
 --ink:#eefaf6; --text:#eefaf6; --muted:#b2ceca; --subtle:#9dbeb8;
 --canvas:#061f24; --bg:#061f24; --surface:#0d2c31; --surface-low:#12373b; --surface-2:#12373b; --surface-container:#164147;
 --line:#295052; --border:#295052; --line-strong:#446b69; --border-strong:#446b69;
 --brand:#007477; --brand-hover:#006366; --brand-soft:#153e3c; --on-brand:#fff; --link:#8cddd0;
 --input-bg:#082429; --header-bg:#082429f2; --hero-veil:#061f24eb; --focus:#ffd044;
 --brand-hero:linear-gradient(125deg,#003a40,#005e62 65%,#006e68);
 --brand-photo-veil:#004d50d9;
}
.topbar,html[data-theme=dark] .topbar { background:var(--header-bg); border-color:var(--line); }
.brand-text strong { color:var(--ink); }
.desktop-nav { background:var(--surface-low); }
.desktop-nav a,.desktop-nav button { color:var(--muted); }
.desktop-nav a:hover,.desktop-nav button:hover,html[data-theme=dark] .desktop-nav a:hover,html[data-theme=dark] .desktop-nav button:hover { color:var(--ink); background:var(--surface-container); }
.hero,html[data-theme=dark] .hero { background:var(--brand-hero); border-color:transparent; color:#fff; }
.hero .eyebrow { color:#d4f5e9; }
.hero h1 span { color:var(--gold); }
.hero-copy>p { color:#e2f4f0; }
.hero-stats,html[data-theme=dark] .hero-stats { background:#ffffff10; border-color:#ffffff30; }
.hero-stats div { border-color:#ffffff30; }
.hero-stats strong { color:#fff; }
.hero-stats span { color:#d1eee6; }
.hero .button-secondary { background:#ffffff12; border-color:#ffffff70; color:#fff; }
.hero .button-secondary:hover { background:#ffffff25; }
.button-primary,html[data-theme=dark] .button-primary { background:var(--gold); color:var(--on-gold); }
.button-primary:hover,html[data-theme=dark] .button-primary:hover { background:var(--gold-hover); }
.button-secondary,html[data-theme=dark] .button-secondary { background:var(--surface); color:var(--ink); border-color:var(--line); }
.hero .button-secondary,html[data-theme=dark] .hero .button-secondary { background:#ffffff12; border-color:#ffffff70; color:#fff; }
.hero .button-secondary:hover,html[data-theme=dark] .hero .button-secondary:hover { background:#ffffff25; }
.menu-card,.menu-card.dark,.menu-card.featured { background:var(--surface); }
.menu-card:hover,html[data-theme=dark] .menu-card:hover { background:var(--surface-low); }
.menu-grid .menu-card:nth-child(n) .menu-icon,html[data-theme=dark] .menu-grid .menu-card:nth-child(n) .menu-icon { background:linear-gradient(145deg,#009b92,#007477); color:#fff; border:0; }
.menu-grid .menu-card:nth-child(3n+2) .menu-icon,html[data-theme=dark] .menu-grid .menu-card:nth-child(3n+2) .menu-icon { background:linear-gradient(145deg,#ffe379,#f6c32e); color:var(--on-gold); }
.menu-grid .menu-card:nth-child(3n) .menu-icon,html[data-theme=dark] .menu-grid .menu-card:nth-child(3n) .menu-icon { background:linear-gradient(145deg,#cceee1,#9ddbc9); color:#005b5e; }
.filter.active,.interest-option.active,html[data-theme=dark] .filter.active,html[data-theme=dark] .interest-option.active { background:var(--gold); color:var(--on-gold); border-color:var(--gold); }
.interest-option.active span::before { background:var(--on-gold); }
.sheet,.sheet-header,.sheet-backdrop { background:var(--canvas); }
.intro-panel,.info-card,.prodi-card,.prodi-detail-card,.detail-hero,.step,.policy-card,.status-grid,.status-card,.faq-list details,.footer-links a { background:var(--surface); }
.notice,.notice-card,.contact-routing-note,.sapa-login-panel { background:var(--green-soft); border-color:var(--line-strong); color:var(--ink); }
html[data-theme=dark] .sapa-login-panel { background:var(--green-soft); }
.source-note,.detail-note,.form-note,.consent-field { background:var(--surface-low); }
html[data-theme=dark] .search-box,html[data-theme=dark] .interest-form input,html[data-theme=dark] .interest-form select,html[data-theme=dark] .interest-form textarea { background:var(--input-bg); }
.preview-window,.preview-content { background:var(--surface); color:var(--ink); }
.preview-titlebar,.preview-sidebar { background:var(--surface-low); }
.preview-row { color:var(--ink); }
/* SAPA stays calm around dense tables; gold emphasizes the primary action. */
.site-header { border-bottom:2px solid var(--gold); }
.category-icon,.module-icon,
.module-category:nth-child(n) .category-icon,.module-category:nth-child(n) .module-icon { background:linear-gradient(145deg,#009b92,#007477); color:#fff; }
.module-category:nth-child(3n+2) .category-icon,.module-category:nth-child(3n+2) .module-icon { background:linear-gradient(145deg,#ffe379,#f6c32e); color:var(--on-gold); }
.module-category:nth-child(3n) .category-icon,.module-category:nth-child(3n) .module-icon { background:linear-gradient(145deg,#cceee1,#9ddbc9); color:#005b5e; }
.auth-card { border-top:4px solid var(--gold); }
.auth-card button[type=submit],.form-actions>button[type=submit],.form-actions>.button:not(.secondary):not(.danger) { background:var(--gold); color:var(--on-gold); }
.auth-card button[type=submit]:hover,.form-actions>button[type=submit]:hover { background:var(--gold-hover); }
.page:has(.module-launcher)>.page-heading { color:#fff; background:var(--brand-hero); }
.page:has(.module-launcher)>.page-heading::before { background:linear-gradient(90deg,var(--teal-deep),var(--brand-photo-veil)),url('../img/banner-kampus-uin-palopo.png') right 38%/cover; }
.page:has(.module-launcher)>.page-heading .eyebrow { color:var(--gold); }
.page:has(.module-launcher)>.page-heading .lead { color:#e2f4f0; }
.page:has(.module-launcher)>.page-heading .active-role { background:#ffffff12; border-color:#ffffff50; }
.page:has(.module-launcher)>.page-heading .active-role span { color:#d1eee6; }
.page:has(.module-launcher)>.page-heading .active-role strong { color:var(--gold); }
@media(max-width:640px) {
 .topbar,html[data-theme=dark] .topbar { background:var(--brand-hero); }
 .topbar .mobile-account,.topbar .theme-toggle,html[data-theme=dark] .topbar .mobile-account,html[data-theme=dark] .topbar .theme-toggle { background:#ffffffed; color:#00666b; border-color:#ffffff; }
 .mobile-app-banner,html[data-theme=dark] .mobile-app-banner { background:var(--brand-hero); }
 .mobile-app-banner::after,html[data-theme=dark] .mobile-app-banner::after { opacity:.5; mask-image:linear-gradient(180deg,#000,transparent); -webkit-mask-image:linear-gradient(180deg,#000,transparent); }
 .mobile-app-banner::before,html[data-theme=dark] .mobile-app-banner::before { background:linear-gradient(180deg,var(--brand-photo-veil),var(--teal-deep)); }
 .mobile-banner-copy h1,html[data-theme=dark] .mobile-banner-copy h1 { color:#fff; }
 .mobile-banner-copy h1 span,html[data-theme=dark] .mobile-banner-copy h1 span { color:var(--gold); }
 .mobile-banner-eyebrow,.mobile-banner-copy p,.mobile-banner-caption,html[data-theme=dark] .mobile-banner-eyebrow,html[data-theme=dark] .mobile-banner-copy p,html[data-theme=dark] .mobile-banner-caption { color:#e0f3ed; }
 .mobile-banner-copy button,html[data-theme=dark] .mobile-banner-copy button { background:var(--gold); color:var(--on-gold); border-color:var(--gold); }
 .mobile-services-ready .mobile-service-tabs,html[data-theme=dark] .mobile-service-tabs { background:var(--surface-low); border-color:var(--line); }
 .mobile-service-tabs button { color:var(--muted); }
 .mobile-service-tabs button.is-selected,html[data-theme=dark] .mobile-service-tabs button.is-selected { background:var(--gold); color:var(--on-gold); }
 .dock,html[data-theme=dark] .dock { background:var(--header-bg); border-color:var(--line); }
 .dock .active,html[data-theme=dark] .dock .active { color:var(--green); }
 .dock .dock-main,html[data-theme=dark] .dock .dock-main { background:linear-gradient(145deg,#ffe379,#f6c32e); color:var(--on-gold); box-shadow:0 5px 18px #d4a61128; }
 .dock .dock-main:hover { background:var(--gold-hover); }
 #beranda>.admission-status,html[data-theme=dark] #beranda>.admission-status { border-color:var(--surface-low); }
 .sheet-backdrop,.sheet,.sheet-header { background:var(--canvas); }
}
