/*
 * Shared visual theme
 * Change only these tokens to rebrand the public site and customer portal.
 */
:root{
  --theme-primary:#214b7b;
  --theme-primary-dark:#112d51;
  --theme-primary-deep:#0b2342;
  --theme-primary-hover:#2c6099;
  --theme-accent:#f2be45;
  --theme-accent-soft:#fff3d7;
  --theme-page:#f3f6fb;
  --theme-surface:#ffffff;
  --theme-surface-soft:#eef4fb;
  --theme-line:#d9e4f0;
  --theme-text:#172d4b;
  --theme-muted:#64758b;
  --theme-success:#16835f;
  --theme-shadow:0 14px 34px rgba(17,45,81,.10);

  /* Public website aliases */
  --app-ink:var(--theme-primary-dark);
  --app-ink-2:var(--theme-primary-deep);
  --app-green:var(--theme-primary);
  --app-lime:var(--theme-accent);
  --app-mint:var(--theme-surface-soft);
  --app-bg:var(--theme-page);
  --app-card:var(--theme-surface);
  --app-line:var(--theme-line);
  --app-text:var(--theme-text);
  --app-muted:var(--theme-muted);
  --app-shadow:var(--theme-shadow);

  /* Customer portal aliases */
  --portal-green:var(--theme-primary-dark);
  --portal-green-2:var(--theme-primary-deep);
  --portal-primary:var(--theme-primary);
  --portal-lime:var(--theme-accent);
  --portal-page:var(--theme-page);
  --portal-border:var(--theme-line);
  --portal-text:var(--theme-text);
  --portal-muted:var(--theme-muted);
  --portal-shadow:var(--theme-shadow);

  /* Customer account aliases */
  --login-ink:var(--theme-primary-dark);
  --login-green:var(--theme-primary);
  --login-lime:var(--theme-accent);
  --login-muted:var(--theme-muted);
  --login-line:var(--theme-line);
}
html,body{margin:0;padding:0}

/* Public website */
.app-header-slot{display:block!important;position:relative!important;clear:both!important;width:100%!important;min-height:76px;background:#fff!important;isolation:isolate}.app-header-slot>.app-topbar{position:static!important;inset:auto!important;display:block!important;float:none!important;clear:both!important;width:100%!important;z-index:500!important}.public-template>main.app-page,.public-app{position:relative!important;clear:both!important;margin-top:0!important}.public-template{padding-top:0!important}@supports selector(body:has(*)){body:has(.public-app){padding-top:0!important}body:has(.public-app) .public-app{margin-top:0!important}}
.app-hero,.page-hero-app{background:linear-gradient(135deg,var(--theme-primary-dark),var(--theme-primary-deep) 52%,var(--theme-primary))!important}
.app-trust-panel,.app-footer{background:linear-gradient(135deg,var(--theme-primary-dark),var(--theme-primary-deep))!important}
.app-btn,.app-nav-links .app-nav-login{background:var(--theme-primary)!important}
.app-btn:hover{background:var(--theme-primary-hover)!important;box-shadow:0 12px 22px rgba(33,75,123,.23)!important}
.app-btn.alt,.app-nav-links>a:hover,.public-template .app-nav-links .is-active{background:var(--theme-surface-soft)!important;color:var(--theme-primary)!important}
.app-btn.lime{background:var(--theme-accent)!important;color:var(--theme-primary-dark)!important}
.app-kicker{background:#e4edf9!important;color:var(--theme-primary)!important}
.app-kicker.dark{background:rgba(255,255,255,.13)!important;color:#fff!important}
.app-icon-bubble,.app-quick-card>span,.app-product-icon:not(.blue):not(.amber):not(.purple),.app-steps article>i,.app-side-card i{background:#e6eef9!important;color:var(--theme-primary)!important}
.app-quick-card>i,.app-product-card strong,.app-section-link,.app-consent a,.app-side-card a,.app-list i,.app-modal>i,.app-modal b{color:var(--theme-primary)!important}
.app-quick-card.primary{background:var(--theme-primary-dark)!important;border-color:var(--theme-primary-dark)!important}
.app-quick-card.primary>span{background:var(--theme-accent)!important;color:var(--theme-primary-dark)!important}
.app-quick-card.primary small,.app-quick-card.primary>i{color:#dce9fb!important}
.app-apply-card:before{border-color:rgba(242,190,69,.24)!important}
.app-trust-list i{background:var(--theme-accent)!important;color:var(--theme-primary-dark)!important}
.app-disclosure{border-color:#cedced!important;background:#eef4fb!important}
.app-disclosure-metrics b,.app-stat b{color:var(--theme-primary)!important}
.app-bottom-nav .active{color:var(--theme-primary)!important}
.app-form-card input:focus,.app-form-card select:focus,.app-form-card textarea:focus,.app-lead-form input:focus{border-color:var(--theme-primary)!important;box-shadow:0 0 0 3px rgba(33,75,123,.13)!important}
.public-template .app-page{padding:0!important}.public-template .public-page-content{width:100%;display:block}.public-template .app-page>.public-page-content>.app-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.public-template .app-page-grid,.public-template .app-page>.public-page-content>.app-shell>.app-content-card{width:100%!important;margin:0!important}.public-template .app-page-grid{gap:1px!important;background:var(--theme-line)!important;border-bottom:1px solid var(--theme-line)}.public-template .app-side-stack{gap:1px!important;background:var(--theme-line)!important}.public-template .page-hero-app,.public-template .app-form-card,.public-template .app-side-card{margin:0!important}.public-template .app-content-card,.public-template .app-side-card,.public-template .app-form-card{border:0!important;border-radius:0!important;box-shadow:none!important;background:var(--theme-surface)!important}.public-template .app-content-card,.public-template .app-form-card{padding:clamp(24px,4vw,44px)!important}.public-template .app-side-card{padding:clamp(22px,3.2vw,36px)!important}.public-template .app-page-section{width:100%;margin:0!important;border-top:1px solid var(--theme-line)!important}.public-template .app-page-section .app-content-card{margin:0!important}

/* App-style mobile navigation and footer logo */
.public-template .app-content-card,.public-template .app-side-card,.public-template .app-form-card{border:0!important}
.app-footer-brand img{background:transparent!important;padding:0!important;filter:brightness(0) invert(1)}
@media(max-width:700px){
  /* The drawer belongs above every page section and the fixed app navigation. */
  .app-header-slot{position:relative!important;z-index:1200!important;isolation:isolate!important}
  .app-header-slot>.app-topbar{position:relative!important;z-index:1201!important}
  .app-header-slot{min-height:63px!important}
  .public-template{padding-top:0!important}.public-template .app-page{margin-top:0!important}@supports selector(body:has(*)){body:has(.public-app){padding-top:0!important}body:has(.public-app) .public-app{margin-top:0!important}}.app-bottom-nav{position:fixed!important;right:0!important;bottom:0!important;left:0!important;transform:translateZ(0);will-change:transform}
  .app-topbar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .app-topbar.menu-open{z-index:1202!important}
  .app-topbar.menu-open~.app-bottom-nav{opacity:0!important;pointer-events:none!important;transform:translateY(120%)!important}
  .app-menu-toggle{position:relative;z-index:302;width:40px!important;height:40px!important;border:1px solid #d8e3f1!important;border-radius:50%!important;background:#fff!important;color:var(--theme-primary)!important;box-shadow:0 5px 15px rgba(17,45,81,.1)}
  .app-topbar.menu-open .app-menu-toggle{position:relative!important;z-index:1205!important;top:auto;left:auto;background:var(--theme-primary)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 10px 26px rgba(10,29,57,.24)!important}.app-topbar.menu-open .app-menu-toggle i{font-size:17px}
  .app-topbar.menu-open:after{content:"";position:fixed;z-index:1203;inset:0;background:rgba(9,25,48,.48);backdrop-filter:blur(3px)}
  .app-nav-links{display:flex!important;position:fixed!important;z-index:1204;top:0!important;right:auto!important;bottom:0!important;left:0!important;width:min(330px,86vw);height:100dvh;box-sizing:border-box!important;overflow-y:auto;overflow-x:hidden;flex-direction:column!important;align-items:stretch!important;gap:5px!important;padding:84px 16px 20px!important;border:0!important;border-radius:0 25px 25px 0!important;background:#fff!important;box-shadow:18px 0 52px rgba(10,29,57,.23)!important;opacity:0;visibility:hidden;transform:translateX(-105%);pointer-events:none;transition:opacity .22s ease,transform .25s ease,visibility .22s!important}
  .app-topbar.menu-open .app-nav-links{opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto}
  .app-nav-links:before{content:"MENU";display:block;margin:0 4px 14px;color:#7889a0;font-size:11px;font-weight:800;letter-spacing:.13em}.app-nav-links>a,.app-nav-links .app-nav-login{box-sizing:border-box!important;display:flex!important;align-items:center!important;gap:12px!important;width:100%;min-height:52px;padding:14px 13px!important;border:1px solid transparent!important;border-radius:14px!important;font-size:14px!important}
  .app-nav-links>a:before{font-family:"Font Awesome 6 Free";font-weight:900;width:20px;text-align:center;color:var(--theme-primary)}
  .app-nav-links>a[href="index.php"]:before{content:"\\f015"}.app-nav-links>a[href="emi-calculator.php"]:before{content:"\\f1ec"}.app-nav-links>a[href="about-us.php"]:before{content:"\\f2bd"}.app-nav-links>a[href="contact-us.php"]:before{content:"\\f590"}
  .app-nav-links .app-nav-login{margin:auto 0 0!important;background:var(--theme-primary)!important;color:#fff!important;justify-content:center}.app-nav-links .app-nav-login>i{display:none}
  .app-nav-links .app-nav-login:before{content:"\\f2bd";font-family:"Font Awesome 6 Free";font-weight:900}
  .app-nav-links>a:before,.app-nav-links .app-nav-login:before{display:none!important}.app-nav-links>a:not(.app-nav-login){background:#f6f8fc!important;color:var(--theme-text)!important}.app-nav-links>a:not(.app-nav-login):hover,.app-nav-links>a.is-active{background:#eaf1fa!important;border-color:#d8e4f2!important;color:var(--theme-primary)!important}.app-nav-links>a>i{display:inline-block!important;width:20px;text-align:center;color:var(--theme-primary)}.app-nav-links .app-nav-login>i{display:inline-block!important;color:#fff}
}

/* Customer portal */
.portal-sidebar{background:linear-gradient(180deg,var(--theme-primary-dark),var(--theme-primary-deep))!important;box-shadow:2px 0 22px rgba(17,45,81,.15)!important}
.portal-sidebar nav a{color:#dce7f6!important}.portal-sidebar nav a.active{background:rgba(255,255,255,.12)!important;border-left-color:var(--theme-accent)!important}.portal-sidebar nav a.active .nav-icon{color:var(--theme-accent)!important}.nav-label{color:#91a9c5!important}
.brand-mark{background:var(--theme-accent)!important;color:var(--theme-primary-dark)!important}.portal-header{box-shadow:0 2px 14px rgba(17,45,81,.06)!important}.avatar,.btn{background:var(--theme-primary)!important}.btn.green{background:var(--theme-primary-dark)!important}.btn.outline{border-color:var(--theme-primary)!important;color:var(--theme-primary)!important}.btn.outline:hover{background:var(--theme-surface-soft)!important;color:var(--theme-primary)!important}
.wallet-callout{border-color:#cfdef0!important;background:#f8fbff!important}.wallet-callout .metric-label{color:var(--theme-primary)!important}.application-process,.wallet-hero,.wallet-page .wallet-hero{background:linear-gradient(120deg,var(--theme-primary),var(--theme-primary-dark))!important;box-shadow:0 15px 30px rgba(17,45,81,.16)!important}.application-process:after{background:rgba(255,255,255,.08)!important}.process-percent strong,.process-step.complete{color:var(--theme-accent)!important}.process-step.complete b,.process-line i{background:var(--theme-accent)!important;border-color:var(--theme-accent)!important;color:var(--theme-primary-dark)!important}.timeline-item.done:before{background:var(--theme-primary)!important}.metric .success,.check-yes{color:var(--theme-primary)!important}.timeline-link{background:#e5eef9!important;color:var(--theme-primary)!important}.count-badge{background:var(--theme-accent-soft)!important;color:#845700!important}
.document-heading>span,.letter-icon,.fee-metric-icon.blue,.fee-item-icon{background:#e7effa!important;color:var(--theme-primary)!important}.document-copy>i,.document-copy a,.fee-item-copy a{color:var(--theme-primary)!important}.document-pending{background:#f7faff!important;border-color:#ceddee!important;color:var(--theme-primary)!important}.choose-file{border-color:#b9cce1!important;color:#58708d!important;background:#fbfdff!important}.choose-file:hover{border-color:var(--theme-primary)!important;background:#f2f7fd!important}.profile-banner{background:linear-gradient(120deg,var(--theme-primary-dark),var(--theme-primary))!important}.profile-banner .avatar{background:var(--theme-accent)!important;color:var(--theme-primary-dark)!important}.info-heading{border-bottom-color:var(--theme-accent)!important;color:var(--theme-primary)!important}.form-group input:focus,.form-group select:focus{border-color:var(--theme-primary)!important;box-shadow:0 0 0 3px rgba(33,75,123,.13)!important}.notice{background:#eef5ff!important;border-color:#c8dced!important;color:var(--theme-primary)!important}.payment-upload{border-color:var(--theme-primary)!important;color:var(--theme-primary)!important}.payment-slip-form{background:#f8fbff!important;border-color:#d4e1ef!important}.portal-notification{color:var(--theme-primary)!important}.notification-panel a>i{color:var(--theme-primary)!important}

/* Customer account login */
@media(max-width:820px){.account-login-brand{display:none!important}.account-login-panel{min-height:100svh!important;padding:34px 24px 50px!important}.account-form-wrap{margin-top:28px!important}}
.account-login-brand{background:radial-gradient(circle at 90% 15%,rgba(242,190,69,.19),transparent 22%),linear-gradient(135deg,var(--theme-primary-dark),var(--theme-primary-deep) 62%,var(--theme-primary))!important}.account-logo-name{color:var(--theme-primary-dark)!important}.account-kicker{background:rgba(242,190,69,.16)!important;color:#fff1c8!important}.account-kicker.light,.account-form-icon{background:#e8f0fa!important;color:var(--theme-primary)!important}.account-form-wrap button{background:var(--theme-primary)!important;box-shadow:0 13px 25px rgba(33,75,123,.19)!important}.account-form-wrap button:hover{background:var(--theme-primary-hover)!important}.account-help a{color:var(--theme-primary)!important}.account-input:focus-within{border-color:var(--theme-primary)!important;box-shadow:0 0 0 3px rgba(33,75,123,.14)!important}
