:root{--theme-primary:#0D6EFD;--theme-primary-rgb:13,110,253;--theme-secondary:#198754;--theme-secondary-rgb:25,135,84;--theme-accent:#F59E0B;--theme-accent-rgb:245,158,11;--theme-sidebar-bg:#0F172A;--theme-sidebar-rgb:15,23,42;--theme-sidebar-text:#FFFFFF;--theme-dashboard-bg:#F4F7FB;--theme-dashboard-rgb:244,247,251;--theme-dashboard-text:#0F172A;--theme-card-bg:#FFFFFF;--theme-card-rgb:255,255,255;--theme-primary-soft:rgba(var(--theme-primary-rgb),.10);--theme-primary-border:rgba(var(--theme-primary-rgb),.18);--theme-secondary-soft:rgba(var(--theme-secondary-rgb),.12);--theme-accent-soft:rgba(var(--theme-accent-rgb),.14);--theme-sidebar-soft:rgba(255,255,255,.08);--theme-shadow:0 .6rem 1.5rem rgba(15,23,42,.08)}
body.themed-body{background:linear-gradient(180deg,rgba(var(--theme-dashboard-rgb),.96),rgba(var(--theme-dashboard-rgb),1));color:var(--theme-dashboard-text)}
body{font-size:1rem;line-height:1.5;background:#f4f6f9;color:#1f2937}

.sidebar{min-height:100vh;width:290px;background:linear-gradient(180deg,var(--theme-sidebar-bg),rgba(var(--theme-sidebar-rgb),.96));position:sticky;top:0;overflow-y:auto;border-right:1px solid rgba(255,255,255,.08);box-shadow:0 0 20px rgba(15,23,42,.12)}
.sidebar,.sidebar *{color:var(--theme-sidebar-text)!important}
.sidebar .text-light{color:rgba(255,255,255,.72)!important}
.sidebar .nav-link{border-radius:.9rem;padding:.68rem .9rem;opacity:1}
.sidebar-link,.sidebar-group-toggle,.sidebar-sublink{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;background:transparent;text-align:left;border-radius:.9rem;padding:.72rem .9rem;transition:all .2s ease;font-weight:500;text-decoration:none}
.sidebar-link .menu-icon,.sidebar-group-toggle .menu-icon,.sidebar-sublink .menu-icon{width:2rem;height:2rem;border-radius:.7rem;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);flex:0 0 2rem;transition:all .2s ease}
.sidebar .nav-link:hover,.sidebar-link:hover,.sidebar-group-toggle:hover,.sidebar-sublink:hover{background:rgba(255,255,255,.10);opacity:1;transform:translateX(2px)}
.sidebar-link:hover .menu-icon,.sidebar-group-toggle:hover .menu-icon,.sidebar-sublink:hover .menu-icon{background:rgba(255,255,255,.18)}
.sidebar-link.active,.sidebar-sublink.active{background:linear-gradient(90deg,rgba(var(--theme-primary-rgb),.24),rgba(255,255,255,.08))!important;color:#FFFFFF!important;font-weight:700;box-shadow:inset 3px 0 0 var(--theme-accent)}
.sidebar-link.active .menu-icon,.sidebar-sublink.active .menu-icon{background:rgba(255,255,255,.18)!important;color:#FFFFFF!important}
.sidebar-group{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:1rem;padding:.3rem}
.sidebar-group.is-open{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);box-shadow:0 .3rem 1rem rgba(15,23,42,.12)}
.sidebar-group-toggle{font-weight:700}
.sidebar-group.is-open > .sidebar-group-toggle{background:rgba(var(--theme-primary-rgb),.20)}
.sidebar-submenu{padding:.25rem 0 .2rem 0}
.sidebar-sublink{margin-left:.15rem;width:calc(100% - .15rem);padding:.7rem .85rem;font-size:1em}
.sidebar-section-label{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.58)!important;margin:.4rem 0 .2rem .25rem}
.sidebar-chevron{transition:transform .2s ease;font-size:.85rem;color:rgba(255,255,255,.72)!important}.sidebar-group-toggle[aria-expanded="true"] .sidebar-chevron{transform:rotate(180deg)}
.sidebar i.bi{width:1rem;text-align:center}.main-wrap{min-height:100vh}.content-area{padding:1.4rem}.card-stat{border:1px solid rgba(var(--theme-primary-rgb),.08);border-radius:1rem;box-shadow:var(--theme-shadow);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,1))}
.metric{font-size:1.65rem;font-weight:700}.badge-soft{background:var(--theme-primary-soft);color:var(--theme-primary)}.transcript-sheet{background:#fff;border:1px solid #d8dfe9;border-radius:1rem;padding:2rem}.search-card{background:linear-gradient(135deg,rgba(var(--theme-primary-rgb),.14),rgba(var(--theme-secondary-rgb),.12),rgba(var(--theme-accent-rgb),.10));border:1px solid rgba(var(--theme-primary-rgb),.16)}
.kpi-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .65rem;border-radius:999px;background:rgba(255,255,255,.74);color:var(--theme-primary);font-size:.82rem;font-weight:700;border:1px solid rgba(var(--theme-primary-rgb),.12)}.section-title{font-size:1rem;font-weight:700}.list-compact li{padding:.35rem 0;border-bottom:1px solid #f0f2f5}.list-compact li:last-child{border-bottom:none}
.doc-print{background:#fff;color:#111;max-width:980px;margin:0 auto;border:1px solid #cfcfcf;padding:18px 22px}.doc-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.doc-logo{width:72px;height:72px;border:1px solid #bbb;display:flex;align-items:center;justify-content:center;font-size:.8rem;background:#fafafa}.doc-watermark{opacity:.06;position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:70px;font-weight:700;pointer-events:none}.doc-box{border:1px solid #cfcfcf;padding:10px}.doc-title{text-align:center;font-family:"Times New Roman",serif;font-size:2rem;font-weight:700;line-height:1.2}.doc-subtitle{text-align:center;font-family:"Times New Roman",serif;font-size:1.15rem}.doc-table{width:100%;border-collapse:collapse}.doc-table th,.doc-table td{border:1px solid #777;padding:6px 7px;vertical-align:top}.doc-table th{background:#f2f2f2}.small-note{font-size:.83rem;color:#555}.print-only{display:none}.status-tick{font-size:1.1rem;font-weight:700;color:#137333}.status-cross{font-size:1.1rem;font-weight:700;color:#b3261e}
.avatar-thumb{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid #e9eef5}.avatar-fallback{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#eef5ff;color:#0d6efd;font-weight:700}.muted-link{text-decoration:none;color:inherit}
.topbar{background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(255,255,255,.84))!important;backdrop-filter:blur(10px);border-bottom:1px solid rgba(var(--theme-primary-rgb),.12)!important}
.erp-brand-mark{width:2.4rem;height:2.4rem;border-radius:.85rem;background:linear-gradient(135deg,var(--theme-primary),var(--theme-secondary));display:inline-flex;align-items:center;justify-content:center;color:#fff!important;box-shadow:0 .5rem 1rem rgba(var(--theme-primary-rgb),.18)}
.brand-card{background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.10);border-radius:1rem;padding:1rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.brand-card h4{font-size:1.2rem}

.document-letterhead{margin-bottom:.7rem}
.letterhead-top-rule{border-top:2px solid #222;margin:0 0 .3rem 0}
.letterhead-row{display:flex;align-items:center;gap:.55rem}
.letterhead-logo{width:82px;height:82px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 82px}
.letterhead-logo img{width:100%;height:100%;object-fit:contain;padding:.1rem}
.letterhead-center{flex:1;text-align:center;line-height:1.08}
.letterhead-right{width:92px;display:flex;justify-content:flex-end;align-items:center}
.letterhead-spacer{width:100%;min-height:1px}
.letterhead-government,.letterhead-ministry{font-size:1rem;font-weight:500;color:#111;text-transform:uppercase}
.letterhead-department{font-size:.95rem;color:#111;margin-top:.15rem}
.letterhead-code{font-size:.76rem;font-weight:700;letter-spacing:.06em;color:#64748b;text-transform:uppercase;margin-top:.1rem}
.letterhead-name{font-family:"Arial",Helvetica,sans-serif;font-size:1.42rem;font-weight:800;line-height:1.06;text-transform:uppercase;margin-top:.18rem}
.letterhead-motto{font-size:.8rem;font-style:italic;color:#475569;margin-top:.06rem}
.letterhead-contacts{font-size:.8rem;color:#111;margin-top:.1rem}
.letterhead-docmeta{text-align:center;margin-top:.4rem}
.letterhead-title{font-family:"Times New Roman",serif;font-size:1.08rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.letterhead-subtitle{font-size:.85rem;color:#475569;margin-top:.05rem}
.letterhead-meta{font-size:.8rem;color:#334155;margin-top:.14rem}
.letterhead-rule{border-top:2px solid #222;margin-top:.24rem}
.brand-logo-thumb{width:44px;height:44px;border-radius:.95rem;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 44px}
.brand-logo-thumb img{width:100%;height:100%;object-fit:contain;padding:.25rem}
@media (max-width:991.98px){.sidebar{width:270px;min-height:100vh}}
@media print{body{background:#fff!important}.no-print,.sidebar,.topbar,.btn,.navbar,.card-header .btn,.alert{display:none!important}.main-wrap,.content-area{padding:0!important}.card,.card-body,.doc-print,.transcript-sheet{border:none!important;box-shadow:none!important;margin:0!important}.print-only{display:block}.doc-print{max-width:none;padding:0}.page-break{page-break-before:always}.doc-table th{background:#efefef!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}


.layout-shell{min-height:100vh}
.table thead th{font-size:.9rem;white-space:nowrap}
.card-header{border-bottom:1px solid #eef2f7}
.form-control,.form-select,.btn{border-radius:.9rem}
.btn{font-weight:600}
.content-area .card{overflow:hidden}
.data-toolbar{display:flex;gap:.75rem;justify-content:space-between;align-items:center;flex-wrap:wrap}
.compact-value{font-size:.92rem;color:#475569}
.id-card-sheet{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}
.id-card{background:#fff;border:1px solid #dbe4f0;border-radius:1.2rem;overflow:hidden;box-shadow:0 .4rem 1.2rem rgba(15,23,42,.08)}
.id-card-head{background:linear-gradient(135deg,#0d6efd,#6ea8fe);color:#fff;padding:1rem 1.15rem}
.id-card-body{padding:1rem 1.15rem}
.id-avatar{width:78px;height:78px;border-radius:1.25rem;background:#eef5ff;color:#0d6efd;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1.4rem;border:1px solid #cfe0ff}
.id-meta-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:800}
.id-meta-value{font-size:.96rem;font-weight:600;color:#0f172a}
.stat-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .7rem;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0;font-size:.82rem;font-weight:700;color:#334155}
.page-title-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.page-title-row h4{margin-bottom:0}
.filters-card{border:1px solid #eaf0f6;background:linear-gradient(135deg,#ffffff,#f8fbff)}
.sticky-actions{position:sticky;top:5rem;z-index:2}

@media (max-width:991.98px){
  body{overflow-x:hidden}
  .layout-shell,.d-flex{min-width:0}
  .main-wrap{min-width:0}
  .content-area{padding:1rem}
  .topbar{padding-left:1rem!important;padding-right:1rem!important}
  .sidebar{
    position:fixed;
    top:0;
    left:0;
    width:min(88vw,320px);
    height:100vh;
    z-index:1045;
    transform:translateX(-110%);
    transition:transform .25s ease;
    box-shadow:0 1rem 3rem rgba(15,23,42,.25);
    border-right:0;
  }
  body.sidebar-open .sidebar{transform:translateX(0)}
  .sidebar-backdrop{
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.38);
    z-index:1040;
    opacity:0;
    visibility:hidden;
    transition:all .2s ease;
  }
  body.sidebar-open .sidebar-backdrop{opacity:1;visibility:visible}
  .metric{font-size:1.35rem}
}

@media (max-width:767.98px){
  body{font-size:.96rem}
  .content-area{padding:.85rem}
  .card-stat{border-radius:1rem}
  .page-title-row{align-items:flex-start}
  .table-responsive{border-radius:.9rem}
  .btn-group.btn-group-sm{flex-wrap:wrap}  .doc-head{flex-direction:column}

  .letterhead-row{flex-direction:column;align-items:center}
  .letterhead-right{width:100%;justify-content:center}
  .letterhead-center{text-align:center}
  .letterhead-logo,.letterhead-right{flex:0 0 auto}
  .id-card-sheet{grid-template-columns:1fr}
  .sticky-actions{position:static}
}


.login-page{background:linear-gradient(135deg,#edf4ff,#f8fbff)}
.login-shell{overflow:hidden}
.login-showcase{background:linear-gradient(135deg,#0b1f3a,#0d6efd);position:relative;color:#fff}
.login-showcase::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(255,255,255,.16),transparent 35%),radial-gradient(circle at bottom left,rgba(255,255,255,.08),transparent 30%)}
.login-showcase-inner{position:relative;z-index:1;padding:3rem 3.2rem;display:flex;flex-direction:column;justify-content:center;min-height:100%}
.login-badge{display:inline-flex;align-items:center;width:max-content;padding:.55rem 1rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);font-weight:700;letter-spacing:.02em}
.login-feature-card{display:flex;align-items:flex-start;gap:.75rem;padding:1rem 1.05rem;border-radius:1rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(6px);min-height:100%}
.login-feature-card i{font-size:1.2rem;margin-top:.05rem}
.login-form-wrap{display:flex;align-items:center;min-height:100vh}
.login-card{border-radius:1.35rem;box-shadow:0 1rem 2.5rem rgba(15,23,42,.08)}
.login-logo{width:96px;height:96px;border-radius:1.5rem;background:linear-gradient(135deg,#eef5ff,#dbeafe);display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #d8e4fb;box-shadow:0 .75rem 1.5rem rgba(13,110,253,.08)}
.login-logo img{width:100%;height:100%;object-fit:contain;padding:.45rem}
.login-logo span{font-size:2rem;color:#0d6efd}
.login-divider{position:relative;text-align:center;margin:1.2rem 0}
.login-divider::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#e5e7eb}.login-divider span{position:relative;background:#fff;padding:0 .8rem;color:#64748b;font-size:.9rem}
.public-page{background:linear-gradient(180deg,rgba(var(--app-surface-rgb),.72),#ffffff)}
.public-navbar{background:linear-gradient(135deg,var(--app-nav-bg),rgba(var(--app-hero-rgb),.92));box-shadow:0 .5rem 1.25rem rgba(var(--app-nav-rgb),.18)}
.public-navbar .navbar-brand,.public-navbar .nav-link{color:var(--app-nav-text)!important}.public-navbar .nav-link{opacity:.88}.public-navbar .nav-link:hover{opacity:1}
.public-nav-logo{width:42px;height:42px;border-radius:.9rem;background:rgba(255,255,255,.16);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;color:var(--app-nav-text)}
.public-nav-logo img{width:100%;height:100%;object-fit:contain;padding:.2rem}
.public-hero{background:linear-gradient(135deg,rgba(var(--app-nav-rgb),.96),rgba(var(--app-hero-rgb),.88)),radial-gradient(circle at top right,rgba(255,255,255,.22),transparent 35%);color:#fff}
.public-form-card{border-radius:1.25rem;box-shadow:0 1rem 2.5rem rgba(15,23,42,.08);border-top:4px solid rgba(var(--app-button-rgb),.72);background:linear-gradient(180deg,#ffffff,rgba(var(--app-surface-rgb),.55))}
.public-pill{display:inline-flex;align-items:center;padding:.55rem .9rem;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);font-weight:600}
.public-page .btn-primary{background:var(--app-button-color);border-color:var(--app-button-color);color:var(--app-button-text)}
.public-page .btn-primary:hover,.public-page .btn-primary:focus{background:rgba(var(--app-button-rgb),.92);border-color:rgba(var(--app-button-rgb),.92);color:var(--app-button-text)}
.public-page .btn-outline-secondary{border-color:rgba(var(--app-nav-rgb),.18);color:var(--app-nav-bg)}
.public-page .btn-outline-secondary:hover{background:var(--app-nav-bg);border-color:var(--app-nav-bg);color:var(--app-nav-text)}
.public-page .form-control:focus,.public-page .form-select:focus{border-color:rgba(var(--app-hero-rgb),.48);box-shadow:0 0 0 .25rem rgba(var(--app-hero-rgb),.16)}
@media (max-width:991.98px){.login-form-wrap{min-height:auto}.login-card{margin-bottom:1rem}}


.theme-palette-card{border:1px dashed rgba(var(--theme-primary-rgb),.22);border-radius:1rem;padding:1rem;background:linear-gradient(135deg,rgba(var(--theme-primary-rgb),.05),rgba(var(--theme-secondary-rgb),.04))}
.theme-swatch{width:100%;height:48px;border-radius:.9rem;border:1px solid rgba(15,23,42,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.theme-chip{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .7rem;border-radius:999px;background:#fff;border:1px solid rgba(var(--theme-primary-rgb),.14);font-weight:600;font-size:.84rem}
.theme-chip i{color:var(--theme-primary)}
.theme-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}
.theme-mini-card{border-radius:1rem;padding:1rem;background:#fff;border:1px solid rgba(var(--theme-primary-rgb),.10);box-shadow:0 .3rem 1rem rgba(15,23,42,.05)}
.theme-mini-pill{display:inline-block;padding:.35rem .55rem;border-radius:999px;background:var(--theme-primary-soft);color:var(--theme-primary);font-size:.8rem;font-weight:700}
.theme-preview-shell{border-radius:1rem;padding:1rem;background:linear-gradient(180deg,rgba(var(--theme-dashboard-rgb),.8),rgba(255,255,255,.9));border:1px solid rgba(var(--theme-primary-rgb),.08)}

.dashboard-hero{position:relative;overflow:hidden;border:1px solid rgba(var(--theme-primary-rgb),.12);background:
 linear-gradient(135deg,rgba(var(--theme-primary-rgb),.18),rgba(var(--theme-secondary-rgb),.14),rgba(var(--theme-accent-rgb),.12)),
 linear-gradient(180deg,#fff,#fff);
}
.dashboard-hero::after{content:"";position:absolute;inset:auto -40px -50px auto;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,rgba(var(--theme-accent-rgb),.28),transparent 68%);pointer-events:none}
.dashboard-hero-logo{width:82px;height:82px;border-radius:1.35rem;background:rgba(255,255,255,.86);display:flex;align-items:center;justify-content:center;border:1px solid rgba(var(--theme-primary-rgb),.10);box-shadow:0 .6rem 1.4rem rgba(15,23,42,.08)}
.dashboard-hero-logo img{width:100%;height:100%;object-fit:contain;padding:.5rem}
.hero-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.48rem .78rem;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(var(--theme-primary-rgb),.12);font-weight:700;font-size:.83rem;color:#0f172a}
.hero-chip i{color:var(--theme-primary)}

.dashboard-summary-card{position:relative;overflow:hidden;border:none;border-radius:1.1rem;color:#0f172a;height:100%;box-shadow:0 .8rem 1.7rem rgba(15,23,42,.08)}
.dashboard-summary-card .card-body{padding:1rem 1rem 1.05rem}
.dashboard-summary-card::before{content:"";position:absolute;inset:0;opacity:1}
.dashboard-summary-card.color-summary::before{background:linear-gradient(135deg,rgba(var(--summary-rgb),.22),rgba(255,255,255,.96))}
.dashboard-summary-card .card-body > *{position:relative;z-index:1}
.summary-icon{width:46px;height:46px;border-radius:1rem;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.78);border:1px solid rgba(var(--summary-rgb),.14);color:var(--summary-ink);font-size:1.2rem;margin-bottom:.7rem;box-shadow:0 .35rem 1rem rgba(15,23,42,.06)}
.summary-label{font-size:.82rem;font-weight:700;letter-spacing:.02em;color:#475569;text-transform:uppercase}
.summary-subtext{font-size:.82rem;color:#64748b}
.dashboard-panel-title{display:flex;align-items:center;gap:.65rem}
.dashboard-panel-title .panel-icon{width:38px;height:38px;border-radius:.95rem;display:inline-flex;align-items:center;justify-content:center;background:var(--theme-primary-soft);color:var(--theme-primary);font-size:1rem}
.quick-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.8rem}
.quick-action-tile{display:flex;gap:.8rem;align-items:flex-start;padding:1rem;border-radius:1rem;border:1px solid rgba(var(--theme-primary-rgb),.08);background:linear-gradient(180deg,#fff,#fbfdff);text-decoration:none;color:#0f172a;transition:all .18s ease;min-height:94px}
.quick-action-tile:hover{transform:translateY(-2px);box-shadow:0 .8rem 1.6rem rgba(15,23,42,.08);border-color:rgba(var(--theme-primary-rgb),.18);color:#0f172a}
.quick-action-icon{width:42px;height:42px;border-radius:1rem;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;flex:0 0 42px}
.quick-action-primary .quick-action-icon{background:linear-gradient(135deg,var(--theme-primary),rgba(var(--theme-primary-rgb),.78))}
.quick-action-secondary .quick-action-icon{background:linear-gradient(135deg,var(--theme-secondary),rgba(var(--theme-secondary-rgb),.78))}
.quick-action-accent .quick-action-icon{background:linear-gradient(135deg,var(--theme-accent),rgba(var(--theme-accent-rgb),.82))}
.quick-action-dark .quick-action-icon{background:linear-gradient(135deg,var(--theme-sidebar-bg),rgba(var(--theme-sidebar-rgb),.82))}
.quick-action-info .quick-action-icon{background:linear-gradient(135deg,var(--theme-primary),var(--theme-secondary))}
.quick-action-tile .title{font-weight:700;line-height:1.15}
.quick-action-tile .meta{font-size:.82rem;color:#64748b;margin-top:.2rem}

.dashboard-list-item{display:flex;justify-content:space-between;gap:.8rem;align-items:flex-start;padding:.8rem .1rem;border-bottom:1px solid rgba(15,23,42,.06)}
.dashboard-list-item:last-child{border-bottom:none}
.dashboard-list-pill{display:inline-flex;align-items:center;padding:.36rem .58rem;border-radius:999px;background:var(--theme-primary-soft);color:var(--theme-primary);font-size:.78rem;font-weight:700}
.dashboard-table thead th{background:rgba(var(--theme-primary-rgb),.06);border-bottom-color:rgba(var(--theme-primary-rgb),.08)}
.dashboard-table tbody tr:hover{background:rgba(var(--theme-primary-rgb),.03)}

.department-pie-wrap{display:flex;justify-content:center;align-items:center;padding:.5rem 0}
.department-pie-chart{width:230px;height:230px;border-radius:50%;position:relative;box-shadow:inset 0 0 0 10px rgba(255,255,255,.7),0 1rem 2rem rgba(15,23,42,.10)}
.department-pie-center{position:absolute;inset:27%;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:inset 0 0 0 1px rgba(15,23,42,.05)}
.department-pie-center strong{font-size:1.45rem;color:var(--theme-primary)}
.department-legend{display:grid;gap:.65rem}
.department-legend-item{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem .75rem;border-radius:1rem;background:rgba(var(--theme-primary-rgb),.04);border:1px solid rgba(var(--theme-primary-rgb),.07)}
.department-legend-swatch{width:14px;height:14px;border-radius:50%;margin-top:.28rem;flex:0 0 14px}
.total-mini-card{border:1px solid rgba(var(--theme-primary-rgb),.08);border-radius:1rem;padding:.85rem .9rem;background:linear-gradient(180deg,#fff,rgba(var(--theme-dashboard-rgb),.42));height:100%}
.total-mini-card .label{font-size:.76rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.total-mini-card .value{font-size:1.25rem;font-weight:800;color:var(--theme-primary);margin-top:.2rem}
.total-mini-card .total-mini-text{font-size:.95rem;line-height:1.2}
.total-number-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.total-number-tile{padding:1rem;border-radius:1rem;background:linear-gradient(135deg,rgba(var(--theme-primary-rgb),.08),rgba(var(--theme-secondary-rgb),.08),#fff);border:1px solid rgba(var(--theme-primary-rgb),.10)}
.total-number-tile .tile-icon{width:42px;height:42px;border-radius:1rem;display:flex;align-items:center;justify-content:center;background:rgba(var(--theme-primary-rgb),.10);color:var(--theme-primary);font-size:1.15rem;margin-bottom:.65rem}
.total-number-tile .tile-label{font-size:.8rem;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.03em}
.total-number-tile .tile-value{font-size:1.35rem;font-weight:800;color:#0f172a;margin-top:.2rem}
@media (max-width:767.98px){.department-pie-chart{width:200px;height:200px}.total-number-grid{grid-template-columns:1fr}}


/* === Global enterprise UI refinement (safe merge) === */
.content-area{padding:1.5rem}
.content-area .card,
.content-area .card.card-stat{
  border:1px solid rgba(15,23,42,.06);
  border-radius:1.15rem;
  box-shadow:0 .65rem 1.6rem rgba(15,23,42,.06);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,1));
}
.content-area .card + .card{margin-top:.25rem}
.card-header{
  background:linear-gradient(180deg,rgba(248,250,252,.96),rgba(255,255,255,1))!important;
  border-bottom:1px solid #e9eef5;
  padding:1rem 1.15rem;
}
.card-header strong,
.card-header .fw-bold{font-size:1rem;color:#0f172a;letter-spacing:.01em}
.card-body{padding:1.1rem 1.15rem}
.form-label{
  font-size:.92rem;
  font-weight:700;
  color:#334155;
  margin-bottom:.45rem;
}
.form-control,
.form-select{
  min-height:46px;
  border:1px solid #dbe3ee;
  background:#fff;
  border-radius:.9rem;
  color:#0f172a;
  box-shadow:none;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
textarea.form-control{min-height:110px}
.form-control::placeholder,
.form-select::placeholder{color:#94a3b8}
.form-control:focus,
.form-select:focus{
  border-color:rgba(var(--theme-primary-rgb),.5);
  box-shadow:0 0 0 .22rem rgba(var(--theme-primary-rgb),.11);
}
.form-text,
.helper-text{font-size:.79rem;color:#64748b}
.btn{
  min-height:44px;
  padding:.62rem 1rem;
  border-radius:.92rem;
  font-weight:700;
  letter-spacing:.01em;
}
.btn-primary{
  border:none;
  background:linear-gradient(135deg,var(--theme-primary),#2a7cff);
  box-shadow:0 .55rem 1.1rem rgba(var(--theme-primary-rgb),.2);
}
.btn-primary:hover,
.btn-primary:focus{background:linear-gradient(135deg,#0b5ed7,#2a7cff)}
.btn-outline-primary{border-color:rgba(var(--theme-primary-rgb),.3);color:var(--theme-primary)}
.btn-outline-primary:hover,
.btn-outline-primary:focus{background:rgba(var(--theme-primary-rgb),.08);color:var(--theme-primary);border-color:rgba(var(--theme-primary-rgb),.42)}
.table{
  --bs-table-bg: transparent;
  margin-bottom:0;
}
.table thead th{
  background:#f8fafc;
  color:#334155;
  font-size:.82rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  border-bottom-width:1px;
}
.table > :not(caption) > * > *{padding:.82rem .85rem;border-color:#e8eef5}
.table tbody tr:hover{background:rgba(var(--theme-primary-rgb),.025)}
.table-responsive{border:1px solid #eef2f7;border-radius:1rem;background:#fff}
.page-title-row{margin-bottom:1.1rem}
.page-title-row h4{font-size:1.28rem;font-weight:800;color:#0f172a}
.page-title-row .text-muted{max-width:70ch}
.sticky-actions{top:5.35rem}
.topbar .input-group-text{border-radius:.85rem 0 0 .85rem;border-color:#dbe3ee;background:#f8fafc}
.topbar .input-group .form-control{border-left:0;border-radius:0 .85rem .85rem 0;min-height:40px}
.topbar h5{font-size:1.05rem;font-weight:800;color:#0f172a}
.topbar small{line-height:1.25}
.section-panel-note{display:flex;align-items:flex-start;gap:.55rem;padding:.8rem .9rem;border:1px dashed rgba(var(--theme-primary-rgb),.2);border-radius:1rem;background:rgba(var(--theme-primary-rgb),.045);color:#475569;font-size:.86rem}
.section-panel-note i{color:var(--theme-primary);margin-top:.08rem}
.entity-form .form-control,
.entity-form .form-select{background:#fbfdff}
.entity-form .btn{margin-top:.15rem}
.entity-form .field-stack{display:flex;flex-direction:column;gap:.35rem}
.entity-form .field-stack .form-text{margin-top:0}
.entity-form .form-section-title{font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b;margin:0 0 .4rem 0}
@media (max-width:767.98px){
  .content-area{padding:.9rem}
  .card-header{padding:.9rem 1rem}
  .card-body{padding:1rem}
  .table > :not(caption) > * > *{padding:.72rem .7rem}
}


/* Department page scroll behavior and session editing refinements */
.page-scroll-card{position:static !important;top:auto !important}
#department-form-card,#session-form-card{scroll-margin-top:6rem}
@media (min-width:1200px){
  #department-form-card,#session-form-card{min-height:auto}
}


.runtime-status-tile{border-radius:1rem;border:1px solid rgba(var(--theme-primary-rgb),.09);background:linear-gradient(180deg,#fff,rgba(var(--theme-dashboard-rgb),.35));padding:1rem}
.runtime-status-tile .value{font-size:2rem;font-weight:800;line-height:1}
.runtime-status-tile .label{font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#64748b}
code{padding:.18rem .4rem;border-radius:.45rem;background:rgba(15,23,42,.06);color:#0f172a}
.alert, .section-panel-note{border-radius:1rem}

/* === Finance + Library refinements === */
.enterprise-table thead th{background:linear-gradient(180deg,#2da6ea,#2394dd)!important;color:#fff;border-color:rgba(255,255,255,.12);font-size:.92rem;white-space:nowrap}
.enterprise-table tbody tr:nth-child(odd){background:rgba(45,166,234,.06)}
.enterprise-table tbody tr:hover{background:rgba(45,166,234,.12)}
.status-pill{display:inline-flex;align-items:center;padding:.28rem .62rem;border-radius:999px;font-size:.76rem;font-weight:700;line-height:1}
.status-pill.success{background:#1dd1a11f;color:#10b981;border:1px solid rgba(16,185,129,.16)}
.status-pill.pending{background:#0ea5e91a;color:#0284c7;border:1px solid rgba(2,132,199,.14)}
.status-pill.danger{background:#ef44441a;color:#dc2626;border:1px solid rgba(220,38,38,.14)}
.status-pill.warning{background:#f59e0b20;color:#d97706;border:1px solid rgba(217,119,6,.14)}
.status-pill.dark{background:#0f172a12;color:#334155;border:1px solid rgba(51,65,85,.12)}
.entity-filter-bar{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid rgba(15,23,42,.06);border-radius:1.1rem;padding:1rem 1.05rem;box-shadow:0 .65rem 1.6rem rgba(15,23,42,.05)}
.action-square{width:38px;height:38px;border-radius:.75rem;display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;border:none}
.action-square.primary{background:#21a8f4}.action-square.success{background:#1dd1a1}.action-square.warning{background:#f5b21b}.action-square.danger{background:#fb5549}.action-square.info{background:#24c5d8}.action-square.dark{background:#334155}
.finance-summary-card{border-radius:1.2rem;padding:1.25rem 1.3rem;box-shadow:0 .75rem 1.6rem rgba(15,23,42,.08);color:#fff;min-height:140px;display:flex;flex-direction:column;justify-content:center}
.finance-summary-card .label{font-size:1rem;font-weight:600;opacity:.95;margin-bottom:.55rem}.finance-summary-card .value{font-size:2rem;font-weight:300;line-height:1.1}
.finance-summary-card.income{background:linear-gradient(135deg,#21d4b4,#20b6e0)}
.finance-summary-card.expense{background:linear-gradient(135deg,#8a7bd9,#8ca0df)}
.finance-summary-card.net{background:linear-gradient(135deg,#1fa3df,#1e8ed0)}

/* === Landing login redesign === */
.login-page-land{background:#eef2f7;overflow:hidden;min-height:100vh}
.login-scene{position:relative;min-height:100vh;background:linear-gradient(rgba(237,242,248,.92),rgba(238,243,247,.94)),url("../img/land.JPG") center/cover no-repeat fixed}
.login-center-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;position:relative;z-index:2}
.login-card-landing{width:min(100%,420px);border-radius:0;background:rgba(255,255,255,.97)}
.login-card-landing .card-body{padding:2rem 2rem 1.6rem}
.login-corner-brand{position:absolute;left:5.5rem;top:1.3rem;z-index:2}
.login-corner-logo{width:74px;height:74px;display:flex;align-items:center;justify-content:center}
.login-corner-logo img{max-width:100%;max-height:100%;object-fit:contain}.login-corner-logo i{font-size:2.25rem;color:#16cfc3}
.login-lock-icon{color:#1dd1c2;font-size:2rem;line-height:1}.login-card-title{font-size:1.05rem;font-weight:500;color:#1f2937}
.login-land-input{background:#eef3fb;border:0;border-bottom:2px solid rgba(33,168,244,.55);border-radius:0;min-height:46px;padding-inline:1rem;box-shadow:none!important}
.login-land-input:focus{background:#f5f8fd;border-bottom-color:#1fa3df}
.login-land-btn{min-width:130px;border-radius:.35rem;box-shadow:0 .5rem 1rem rgba(31,163,223,.22)}
.login-portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}
.login-portal-chip{display:flex;align-items:center;justify-content:center;text-align:center;padding:.48rem .4rem;border-radius:.6rem;background:#f8fbff;border:1px solid rgba(31,163,223,.12);color:#475569;text-decoration:none;font-size:.74rem;font-weight:600}
.login-portal-chip:hover{background:#eef6ff;color:#0f172a;border-color:rgba(31,163,223,.28)}
.login-floating{position:absolute;border-radius:50%;filter:none;opacity:1;animation:loginFloat 10s ease-in-out infinite alternate;z-index:1}
.login-floating-xl{width:320px;height:320px;right:10%;top:-20px;background:#26d2c4;border-top-left-radius:180px;border-top-right-radius:180px;border-bottom-left-radius:0;border-bottom-right-radius:0;animation-duration:12s}
.login-floating-lg{width:340px;height:340px;left:24%;bottom:-110px;background:#9a90e6;animation-duration:13s}
.login-floating-sm{width:24px;height:24px;right:7%;top:40%;background:#19a6ee;animation-duration:9s}
.login-floating-xs{width:24px;height:24px;left:31%;top:56%;background:#22d3b8;animation-duration:8s}
@keyframes loginFloat{0%{transform:translateY(0) translateX(0)}100%{transform:translateY(16px) translateX(12px)}}
@media (max-width:991.98px){.login-corner-brand{left:1rem;top:1rem}.login-floating-xl{right:-60px;width:240px;height:240px}.login-floating-lg{left:-40px;width:250px;height:250px}.login-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:575.98px){.login-card-landing{width:min(100%,360px)}.login-card-landing .card-body{padding:1.5rem 1.25rem}.login-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.tighter-ui th,.tighter-ui td{padding:.58rem .65rem;vertical-align:middle}
.tighter-ui .btn-sm{padding:.28rem .55rem;border-radius:.55rem}
.library-tab-nav .nav-link{border-radius:999px;padding:.55rem .95rem;background:#eef5ff;color:#215d98;border:1px solid rgba(45,166,234,.16)}
.library-tab-nav .nav-link.active{background:linear-gradient(180deg,#2da6ea,#2394dd);color:#fff;box-shadow:0 8px 24px rgba(35,148,221,.18)}
.entity-filter-bar{background:#f8fbff;border:1px solid rgba(45,166,234,.12);border-radius:1rem;padding:1rem}
.card-stat .card-header{background:#fff;border-bottom:1px solid rgba(15,23,42,.07)}
.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:.18rem .58rem;border-radius:999px;font-size:.77rem;font-weight:700}
.status-pill.success{background:rgba(16,185,129,.14);color:#059669}.status-pill.pending{background:rgba(59,130,246,.14);color:#2563eb}.status-pill.danger{background:rgba(239,68,68,.14);color:#dc2626}
.total-mini-card{background:#fff;border:1px solid rgba(15,23,42,.06);border-radius:1rem;padding:1rem;box-shadow:0 10px 25px rgba(15,23,42,.04)}
.total-mini-card .label{font-size:.82rem;text-transform:uppercase;color:#64748b;font-weight:700}.total-mini-card .value{font-size:1.85rem;font-weight:800;color:#0f172a}


/* Phase 4 UI consistency pass */
.page-title-wrap,.page-title-row{padding:1rem 1.1rem;border:1px solid rgba(15,23,42,.06);border-radius:1.15rem;background:linear-gradient(135deg,rgba(var(--theme-primary-rgb),.06),rgba(var(--theme-secondary-rgb),.04),#fff);box-shadow:0 .55rem 1.2rem rgba(15,23,42,.04)}
.page-title-wrap h4,.page-title-row h4{font-weight:800;color:#0f172a;margin-bottom:.2rem}
.content-area .table{margin-bottom:0}.content-area .table thead th{background:rgba(var(--theme-primary-rgb),.05);border-bottom:1px solid #dbe4f0;color:#334155;font-weight:800}.content-area .table tbody tr:hover{background:rgba(var(--theme-primary-rgb),.025)}
.content-area .alert{border:none;border-radius:1rem;box-shadow:0 .4rem 1rem rgba(15,23,42,.05)}
.content-area .btn-primary,.content-area .btn-success,.content-area .btn-danger{box-shadow:0 .45rem 1rem rgba(15,23,42,.08)}
.data-toolbar,.section-toolbar{padding:.85rem 1rem;border:1px solid rgba(15,23,42,.06);border-radius:1rem;background:#fff}
.table-responsive{border-radius:1rem}
.empty-state{padding:2.25rem 1rem;text-align:center;color:#64748b}
.filter-bar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:end;padding:1rem;border:1px solid rgba(15,23,42,.06);border-radius:1rem;background:#fff}
.metric-pill{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .85rem;border-radius:999px;background:rgba(var(--theme-primary-rgb),.08);border:1px solid rgba(var(--theme-primary-rgb),.14);font-weight:700;color:#0f172a}


/* Login split redesign */
.login-split-page{background:#eef1f7}
.login-split-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr);background:#f2f4fa}
.login-split-visual{position:relative;overflow:hidden;min-height:100vh;background:#d8e4f5}
.login-split-image{position:absolute;inset:0;background:center center/cover no-repeat;transform:scale(1.02)}
.login-split-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,23,43,.10),rgba(8,23,43,.30) 55%,rgba(8,23,43,.58))}
.login-split-brand{position:relative;z-index:2;display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem}
.login-split-brand-logo{width:82px;height:82px;border-radius:1.25rem;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;box-shadow:0 1rem 2rem rgba(15,23,42,.18);overflow:hidden}
.login-split-brand-logo img{width:100%;height:100%;object-fit:contain;padding:.45rem}
.login-split-brand-logo i{font-size:2rem;color:#0d6efd}
.login-split-brand-name{font-size:1.2rem;font-weight:800;color:#fff;line-height:1.2}
.login-split-brand-motto{font-size:.95rem;color:rgba(255,255,255,.88);max-width:34rem}
.login-image-hover-note{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.5rem;display:flex;align-items:flex-end;pointer-events:none}
.login-image-hover-card{max-width:38rem;background:linear-gradient(180deg,rgba(15,23,42,.18),rgba(15,23,42,.72));border:1px solid rgba(255,255,255,.18);border-radius:1.4rem;padding:1.2rem 1.35rem;backdrop-filter:blur(4px);opacity:.96;transform:translateY(10px);transition:all .25s ease}
.login-split-visual:hover .login-image-hover-card{opacity:1;transform:translateY(0)}
.login-split-panel{display:flex;align-items:center;justify-content:center;padding:2.25rem 1.5rem;background:#f3f4f9}
.login-panel-wrap{width:min(100%,30rem)}
.login-panel-mini-logo{width:120px;height:64px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.login-panel-mini-logo img{max-width:100%;max-height:100%;object-fit:contain}
.login-panel-mini-logo i{font-size:2rem;color:#0d6efd}
.login-panel-title{font-size:2.6rem;line-height:1.05;font-weight:800;color:#0b3d7f;margin-bottom:.4rem}
.login-panel-subtitle{color:#4b5563;font-size:1.02rem}
.login-panel-card{border-radius:1.2rem;background:#fff}
.login-split-input{min-height:3rem;border-radius:.35rem;background:#eef3fb;border:1px solid #d7e1ef}
.login-split-input:focus{background:#f8fbff;border-color:#9db9e6;box-shadow:none}
.login-eye-btn{border-color:#d7e1ef;background:#eef3fb}
.login-eye-btn:hover,.login-eye-btn:focus{background:#f8fbff;border-color:#9db9e6;box-shadow:none}
.login-split-submit{min-height:3rem;border-radius:.35rem;font-weight:700}
.login-split-portal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width: 991.98px){
  .login-split-shell{grid-template-columns:1fr}
  .login-split-visual{min-height:20rem}
  .login-panel-title{font-size:2rem}
}
@media (max-width: 575.98px){
  .login-split-brand{padding:1rem}
  .login-image-hover-note{padding:1rem}
  .login-panel-wrap{width:100%}
  .login-split-portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}



/* === Workflow layout stabilization === */
.layout-shell > .sidebar{
  flex:0 0 290px;
  max-width:290px;
}
.layout-shell > .main-wrap{
  min-width:0;
  flex:1 1 auto;
}
.sidebar-nav,
.sidebar-submenu,
.sidebar-group{
  min-width:0;
}
.sidebar-group .collapse{
  overflow:hidden;
}
@media (min-width:992px){
  .layout-shell.d-flex{
    display:grid !important;
    grid-template-columns:290px minmax(0,1fr);
    align-items:start;
  }
  .layout-shell > .sidebar{
    position:sticky;
    top:0;
    align-self:start;
    z-index:1030;
    min-height:100vh;
  }
  .layout-shell > .main-wrap{
    width:100%;
    min-width:0;
    position:relative;
    z-index:1;
  }
}
@media (max-width:991.98px){
  .layout-shell > .sidebar{
    max-width:none;
  }
}

/* === Clearance page tightening === */
#clearance-form-card .form-control,
#clearance-form-card .form-select{
  min-height:42px;
}
#clearance-form-card textarea.form-control{
  min-height:100px;
}
.content-area .table .form-control.form-control-sm,
.content-area .table .form-select.form-select-sm{
  min-height:36px;
  border-radius:.75rem;
}
.content-area .table textarea.form-control.form-control-sm{
  min-height:72px;
}

/* === UOE-style login landing page (reference split layout) === */
.login-uoe-style-page{
  margin:0;
  min-height:100vh;
  overflow:hidden;
  background:#f3f4fa;
  font-family:Poppins,Inter,"Segoe UI",Arial,sans-serif;
  color:#001f4f;
}
.login-uoe-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:49.6% 50.4%;
  background:#f3f4fa;
}
.login-uoe-visual{
  position:relative;
  min-height:100vh;
  overflow:hidden;
  background:#d9e2ef;
}
.login-uoe-image{
  position:absolute;
  inset:0;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
}
.login-uoe-image-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.24) 58%,rgba(0,0,0,.42));
}
.login-uoe-motto{
  position:absolute;
  left:8%;
  right:8%;
  bottom:25.5%;
  z-index:2;
  color:#fff;
  font-weight:900;
  font-size:clamp(2rem,3.05vw,3.1rem);
  line-height:1.18;
  text-align:center;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.login-uoe-panel{
  min-height:100vh;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  background:#f4f5fb;
  padding:.15rem 1.25rem 1rem;
}
.login-uoe-wrap{
  width:min(100%,520px);
  margin:0 auto;
}
.login-uoe-logo-row{
  height:72px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  margin-bottom:4px;
}
.login-uoe-logo-row img{
  max-width:150px;
  max-height:72px;
  object-fit:contain;
}
.login-uoe-logo-row i{
  font-size:2.3rem;
  color:#003f86;
  margin-top:.7rem;
}
.login-uoe-heading h1{
  margin:0 0 .55rem;
  font-weight:900;
  font-size:clamp(2rem,2.9vw,2.65rem);
  line-height:1.03;
  color:#003f86;
  letter-spacing:-.03em;
}
.login-uoe-heading p{
  margin:0;
  color:#111827;
  font-weight:800;
  font-size:1rem;
}
.login-uoe-card{
  width:min(100%,456px);
  margin:19px auto 0;
  border-radius:6px;
  background:#fff;
  box-shadow:0 12px 24px rgba(15,23,42,.10);
}
.login-uoe-card .card-body{
  padding:38px 60px 38px;
}
.login-uoe-form .form-label{
  display:block;
  margin-bottom:.55rem;
  color:#050b18;
  font-weight:900;
  font-size:1rem;
}
.login-uoe-input{
  height:38px;
  border-radius:0;
  background:#e5edf9;
  border:1px solid #cfdae9;
  color:#050b18;
  box-shadow:none!important;
  font-size:1rem;
  padding:.45rem .78rem;
}
.login-uoe-input:focus{
  background:#edf3fb;
  border-color:#a8bedc;
  box-shadow:0 0 0 .12rem rgba(0,63,134,.08)!important;
}
.login-uoe-password-wrap .login-uoe-input{
  border-right:0;
}
.login-uoe-eye-btn{
  width:43px;
  height:38px;
  padding:0;
  border:1px solid #cfdae9;
  border-left:0;
  border-radius:0;
  background:#e5edf9;
  color:#001f4f;
  display:flex;
  align-items:center;
  justify-content:center;
}
.login-uoe-eye-btn:hover,.login-uoe-eye-btn:focus{
  background:#edf3fb;
  color:#001f4f;
  border-color:#a8bedc;
  box-shadow:none;
}
.login-uoe-options{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  margin-top:.1rem;
  font-weight:800;
  color:#050b18;
}
.login-uoe-options .form-check-input{
  width:13px;
  height:13px;
  border-radius:0;
  border-color:#6b7280;
  margin-top:.35rem;
}
.login-uoe-options .form-check-label{
  color:#050b18;
  font-size:1rem;
}
.login-uoe-options a{
  color:#003f86;
  text-decoration:none;
  font-weight:900;
}
.login-uoe-options a:hover{
  text-decoration:underline;
}
.login-uoe-submit{
  height:40px;
  border-radius:0;
  background:#003f86;
  border:1px solid #003f86;
  color:#fff;
  font-weight:900;
  font-size:1rem;
}
.login-uoe-submit:hover,.login-uoe-submit:focus{
  background:#002f66;
  border-color:#002f66;
  color:#fff;
}
.login-uoe-signup{
  margin-top:25px;
  color:#050b18;
  font-size:1rem;
  font-weight:900;
}
.login-uoe-signup a{
  color:#003f86;
  text-decoration:none;
  font-weight:900;
}
.login-uoe-signup a:hover{
  text-decoration:underline;
}
.login-uoe-footer{
  margin-top:27px;
  color:#003f86;
  font-size:1rem;
  font-weight:900;
}
.login-uoe-card .alert{
  border-radius:0;
  margin-bottom:1rem;
  font-size:.9rem;
}
@media (max-width: 991.98px){
  .login-uoe-style-page{overflow:auto;}
  .login-uoe-shell{grid-template-columns:1fr;}
  .login-uoe-visual{min-height:42vh;}
  .login-uoe-panel{min-height:58vh;padding:1rem;}
  .login-uoe-wrap{width:min(100%,560px);}
  .login-uoe-card{width:min(100%,456px);}
  .login-uoe-heading h1{font-size:2.1rem;}
}
@media (max-width: 575.98px){
  .login-uoe-visual{min-height:34vh;}
  .login-uoe-motto{bottom:18%;font-size:1.75rem;}
  .login-uoe-card .card-body{padding:1.5rem 1.25rem;}
  .login-uoe-options{align-items:flex-start;flex-direction:column;gap:.6rem;}
  .login-uoe-logo-row{height:58px;}
  .login-uoe-logo-row img{max-height:58px;}
}

/* === Sidebar/menu overflow and navigation stabilization === */
html, body{
  max-width:100%;
  overflow-x:hidden;
}
body > .d-flex,
.layout-shell,
.d-flex.layout-shell{
  width:100%;
  max-width:100%;
}
.d-flex > .sidebar,
.layout-shell > .sidebar{
  flex:0 0 290px;
  width:290px;
  max-width:290px;
  height:100vh;
  max-height:100vh;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}
.d-flex > .main-wrap,
.layout-shell > .main-wrap,
.main-wrap.w-100{
  width:auto!important;
  min-width:0;
  max-width:100%;
  flex:1 1 auto;
  overflow-x:hidden;
}
.content-area{
  max-width:100%;
  overflow-x:hidden;
}
.content-area .card,
.content-area .row,
.content-area .table-responsive{
  min-width:0;
  max-width:100%;
}
.sidebar .brand-card,
.sidebar-nav,
.sidebar-group,
.sidebar-group-toggle,
.sidebar-link,
.sidebar-sublink,
.sidebar-submenu,
.sidebar .collapse{
  min-width:0;
  max-width:100%;
  overflow-x:hidden;
}
.sidebar-link,
.sidebar-group-toggle,
.sidebar-sublink{
  gap:.65rem;
  line-height:1.18;
}
.sidebar-link > span,
.sidebar-group-toggle > span,
.sidebar-sublink > span{
  min-width:0;
  flex:1 1 auto;
  max-width:100%;
}
.sidebar-link span:not(.menu-icon),
.sidebar-group-toggle span:not(.menu-icon),
.sidebar-sublink span:not(.menu-icon),
.sidebar .brand-card h4,
.sidebar .brand-card small{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.sidebar-group-toggle .sidebar-chevron{
  flex:0 0 auto;
  margin-left:.35rem;
}
.sidebar-sublink{
  margin-left:0;
  width:100%;
  padding-left:.75rem;
  padding-right:.7rem;
}
.sidebar-submenu{
  padding:.25rem .1rem .2rem .1rem;
}
.sidebar-group.is-open .sidebar-submenu{
  max-height:min(48vh, 440px);
  overflow-y:auto;
  overflow-x:hidden;
  scrollbar-width:thin;
}
.sidebar-group.is-open .sidebar-submenu::-webkit-scrollbar,
.sidebar::-webkit-scrollbar{
  width:7px;
}
.sidebar-group.is-open .sidebar-submenu::-webkit-scrollbar-thumb,
.sidebar::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.26);
  border-radius:999px;
}
.topbar{
  max-width:100%;
  overflow-x:hidden;
}
.topbar .input-group,
.topbar h5,
.topbar small{
  min-width:0;
  max-width:100%;
}
.table-responsive{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
@media (min-width:992px){
  body > .d-flex:has(> .sidebar),
  .layout-shell.d-flex{
    display:flex!important;
    align-items:stretch;
  }
  body > .d-flex:has(> .sidebar) > .sidebar,
  .layout-shell > .sidebar{
    position:sticky;
    top:0;
    align-self:flex-start;
    z-index:1030;
  }
}
@media (max-width:991.98px){
  .d-flex > .sidebar,
  .layout-shell > .sidebar{
    width:min(88vw,320px);
    max-width:min(88vw,320px);
    flex-basis:auto;
  }
  .sidebar-group.is-open .sidebar-submenu{
    max-height:52vh;
  }
  .main-wrap.w-100{
    width:100%!important;
  }
}

/* === Mobile-friendly sidekick menu refinement === */
.sidebar{
  height:100vh;
  max-height:100vh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.sidebar .brand-card,
.sidebar-search-wrap,
.sidebar-section-label{
  flex:0 0 auto;
}
.sidebar-nav{
  flex:1 1 auto;
  overflow-y:auto;
  overflow-x:hidden;
  padding-right:.1rem;
  padding-bottom:1rem;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.sidebar-nav::-webkit-scrollbar{width:7px}
.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.26);border-radius:999px}
.sidebar-mobile-tools{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.75rem;
  padding:.35rem .2rem .55rem;
  color:#fff!important;
}
.sidebar-close-btn{
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:.95rem;
  background:rgba(255,255,255,.10);
  color:#fff!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:background .18s ease, transform .18s ease;
}
.sidebar-close-btn:hover,
.sidebar-close-btn:focus{background:rgba(255,255,255,.18);transform:scale(1.02)}
.sidebar-menu-search .input-group-text,
.sidebar-menu-search .form-control{
  min-height:42px;
  border-color:rgba(255,255,255,.14)!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.sidebar-menu-search .input-group-text{
  border-radius:.95rem 0 0 .95rem;
  color:rgba(255,255,255,.76)!important;
}
.sidebar-menu-search .form-control{
  border-left:0!important;
  border-radius:0 .95rem .95rem 0;
}
.sidebar-menu-search .form-control::placeholder{color:rgba(255,255,255,.62)!important}
.sidebar-no-results{
  margin-top:.5rem;
  padding:.55rem .7rem;
  border-radius:.85rem;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.72)!important;
  font-size:.82rem;
}
.sidebar-link,
.sidebar-group-toggle,
.sidebar-sublink{
  min-height:48px;
  touch-action:manipulation;
}
.sidebar-sublink{min-height:46px}
.sidebar .menu-icon{pointer-events:none}
.menu-filter-hidden{display:none!important}
body.sidebar-open{overflow:hidden}
.sidebar-backdrop{backdrop-filter:blur(2px)}
.sidebar-toggle-btn{
  min-height:42px;
  border-radius:.9rem;
  padding:.55rem .75rem;
  box-shadow:0 .35rem .9rem rgba(var(--theme-primary-rgb),.10);
}
@media (min-width:992px){
  .sidebar{height:100vh;max-height:100vh}
  .sidebar-nav{padding-bottom:1.25rem}
}
@media (max-width:991.98px){
  .sidebar{
    height:100dvh;
    max-height:100dvh;
    width:min(90vw,350px)!important;
    max-width:min(90vw,350px)!important;
    padding:calc(.8rem + env(safe-area-inset-top)) .85rem calc(.85rem + env(safe-area-inset-bottom))!important;
    border-radius:0 1.25rem 1.25rem 0;
    box-shadow:0 1.4rem 3.2rem rgba(15,23,42,.34);
  }
  .sidebar .brand-card{padding:.8rem;border-radius:1rem;margin-bottom:.75rem!important}
  .sidebar .brand-card h4{font-size:1rem;line-height:1.15}
  .sidebar .brand-card small{font-size:.76rem}
  .brand-logo-thumb{width:40px;height:40px;flex-basis:40px}
  .sidebar-section-label{margin-top:.25rem}
  .sidebar-link,.sidebar-group-toggle{padding:.74rem .72rem;border-radius:.92rem;font-size:.94rem}
  .sidebar-sublink{padding:.68rem .68rem;font-size:.92rem}
  .sidebar-link .menu-icon,
  .sidebar-group-toggle .menu-icon,
  .sidebar-sublink .menu-icon{
    width:2.15rem;
    height:2.15rem;
    flex-basis:2.15rem;
  }
  .sidebar-group{border-radius:1rem;padding:.25rem}
  .sidebar-group.is-open .sidebar-submenu{max-height:45dvh}
  .topbar{gap:.65rem;align-items:flex-start!important}
  .topbar h5{font-size:.98rem;line-height:1.18;max-width:54vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .topbar .avatar-thumb,.topbar .avatar-fallback{width:36px;height:36px;flex:0 0 36px}
  .content-area{padding:.8rem!important}
}
@media (max-width:575.98px){
  .sidebar{
    width:calc(100vw - 18px)!important;
    max-width:calc(100vw - 18px)!important;
  }
  .sidebar-nav{gap:.45rem!important}
  .sidebar-link,.sidebar-group-toggle{font-size:.92rem}
  .sidebar-sublink{font-size:.9rem}
  .topbar{padding:.75rem .8rem!important}
  .topbar h5{max-width:48vw}
  .sidebar-toggle-btn{min-width:44px;padding:.5rem .65rem}
}
@media (max-width:420px){
  .sidebar{border-radius:0 1rem 1rem 0}
  .sidebar .brand-card h4{font-size:.94rem}
  .sidebar-link .menu-icon,
  .sidebar-group-toggle .menu-icon,
  .sidebar-sublink .menu-icon{width:2rem;height:2rem;flex-basis:2rem}
}

/* === Sidekick no-visible-scrollbar + Bootstrap finance redesign === */
.sidebar,
.sidebar-nav,
.sidebar-submenu,
.sidebar-group.is-open .sidebar-submenu{
  -ms-overflow-style:none;
  scrollbar-width:none;
}
.sidebar::-webkit-scrollbar,
.sidebar-nav::-webkit-scrollbar,
.sidebar-submenu::-webkit-scrollbar,
.sidebar-group.is-open .sidebar-submenu::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
.sidebar-nav{
  padding-right:0!important;
  scroll-behavior:smooth;
}
.sidebar{
  overscroll-behavior-y:contain;
  touch-action:pan-y;
}
.sidebar-link,
.sidebar-group-toggle,
.sidebar-sublink{
  border:1px solid transparent;
}
.sidebar-link:focus-visible,
.sidebar-group-toggle:focus-visible,
.sidebar-sublink:focus-visible{
  outline:0;
  border-color:rgba(255,255,255,.42);
  box-shadow:0 0 0 .2rem rgba(255,255,255,.12);
}
.sidebar-group.is-open .sidebar-submenu{
  max-height:none!important;
}
@media (max-width:991.98px){
  .sidebar-nav{
    gap:.55rem!important;
    padding-bottom:calc(1.25rem + env(safe-area-inset-bottom));
  }
  .sidebar-group.is-open .sidebar-submenu{
    max-height:none!important;
    overflow:visible!important;
  }
  .sidebar{
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .sidebar .brand-card,
  .sidebar-search-wrap,
  .sidebar-section-label,
  .sidebar-nav{
    flex:0 0 auto;
  }
}

.finance-page{
  background:linear-gradient(180deg,rgba(248,250,252,.72),rgba(255,255,255,0));
}
.finance-nav-card{
  border-radius:1.15rem;
  background:rgba(255,255,255,.92);
}
.finance-module-nav .nav-pills{
  --bs-nav-pills-border-radius:.9rem;
}
.finance-nav-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  border:1px solid #e6edf6;
  color:#334155;
  font-weight:700;
  background:#fff;
}
.finance-nav-link:hover{
  background:rgba(var(--theme-primary-rgb),.06);
  color:var(--theme-primary);
}
.finance-nav-link.active{
  background:linear-gradient(135deg,var(--theme-primary),rgba(var(--theme-primary-rgb),.82))!important;
  border-color:rgba(var(--theme-primary-rgb),.35)!important;
  color:#fff!important;
  box-shadow:0 .55rem 1.1rem rgba(var(--theme-primary-rgb),.18);
}
.finance-kpi-card,
.finance-action-card,
.finance-page .card{
  border-radius:1.15rem;
}
.finance-kpi-icon,
.finance-action-icon{
  width:48px;
  height:48px;
  border-radius:1rem;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.25rem;
  flex:0 0 48px;
}
.finance-action-card{
  color:inherit;
  transition:transform .18s ease, box-shadow .18s ease;
}
.finance-action-card:hover{
  transform:translateY(-2px);
  box-shadow:0 .9rem 1.8rem rgba(15,23,42,.10)!important;
}
.finance-page .card-header{
  border-bottom:1px solid #edf2f7;
}
.finance-page .form-control,
.finance-page .form-select{
  min-height:46px;
}
.finance-page .btn{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.finance-table th{
  font-size:.82rem;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#475569;
  background:#f8fafc!important;
}
.finance-table td{
  vertical-align:middle;
}
@media (max-width:767.98px){
  .finance-module-nav .nav{
    display:grid;
    grid-template-columns:1fr;
  }
  .finance-nav-link{
    justify-content:flex-start;
    padding:.78rem .9rem;
  }
  .finance-page .card-body{
    padding:1rem;
  }
  .finance-page .table-responsive{
    border:0;
    overflow:visible;
  }
  .finance-table thead{
    display:none;
  }
  .finance-table,
  .finance-table tbody,
  .finance-table tr,
  .finance-table td{
    display:block;
    width:100%;
  }
  .finance-table tr{
    border:1px solid #e5edf6;
    border-radius:1rem;
    margin:.75rem;
    padding:.2rem 0;
    background:#fff;
    box-shadow:0 .4rem 1rem rgba(15,23,42,.04);
  }
  .finance-table td{
    border:0!important;
    padding:.62rem .85rem!important;
    display:flex;
    justify-content:space-between;
    gap:1rem;
    text-align:right;
    border-bottom:1px solid #f1f5f9!important;
  }
  .finance-table td:last-child{
    border-bottom:0!important;
  }
  .finance-table td::before{
    content:attr(data-label);
    font-weight:800;
    color:#475569;
    text-align:left;
    flex:0 0 42%;
  }
  .finance-table td[colspan]::before{
    content:"";
    display:none;
  }
  .finance-table td[colspan]{
    display:block;
    text-align:center;
  }
}
@media (max-width:575.98px){
  .finance-page h3{
    font-size:1.35rem;
  }
  .finance-page .btn-lg{
    font-size:1rem;
    padding:.7rem .85rem;
  }
  .finance-kpi-icon,
  .finance-action-icon{
    width:44px;
    height:44px;
    flex-basis:44px;
  }
}


/* === Restored full side menu: show all menus/submenus without clipping === */
.sidebar.sidebar-full-menu,
#sidekickMenu.sidebar-full-menu{
  height:100vh!important;
  max-height:100vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.sidebar.sidebar-full-menu::-webkit-scrollbar,
#sidekickMenu.sidebar-full-menu::-webkit-scrollbar{
  width:0!important;
  height:0!important;
  display:none!important;
}
.sidebar.sidebar-full-menu .sidebar-nav,
#sidekickMenu.sidebar-full-menu .sidebar-nav{
  flex:0 0 auto!important;
  overflow:visible!important;
  max-height:none!important;
  padding-bottom:1.25rem!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
}
.sidebar.sidebar-full-menu .sidebar-nav::-webkit-scrollbar,
#sidekickMenu.sidebar-full-menu .sidebar-nav::-webkit-scrollbar{
  display:none!important;
}
.sidebar.sidebar-full-menu .collapse,
.sidebar.sidebar-full-menu .collapse.show,
.sidebar.sidebar-full-menu .sidebar-submenu,
.sidebar.sidebar-full-menu .sidebar-group.is-open .sidebar-submenu,
#sidekickMenu.sidebar-full-menu .collapse,
#sidekickMenu.sidebar-full-menu .collapse.show,
#sidekickMenu.sidebar-full-menu .sidebar-submenu,
#sidekickMenu.sidebar-full-menu .sidebar-group.is-open .sidebar-submenu{
  overflow:visible!important;
  max-height:none!important;
}
.sidebar.sidebar-full-menu .sidebar-group,
#sidekickMenu.sidebar-full-menu .sidebar-group{
  margin-bottom:.35rem;
}
.sidebar.sidebar-full-menu .sidebar-group-toggle,
#sidekickMenu.sidebar-full-menu .sidebar-group-toggle{
  background:rgba(255,255,255,.055);
}
.sidebar.sidebar-full-menu .sidebar-sublink,
#sidekickMenu.sidebar-full-menu .sidebar-sublink{
  padding-left:.8rem!important;
  min-height:42px;
}
@media (max-width:991.98px){
  .sidebar.sidebar-full-menu,
  #sidekickMenu.sidebar-full-menu{
    height:100dvh!important;
    max-height:100dvh!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
  .sidebar.sidebar-full-menu .sidebar-nav,
  #sidekickMenu.sidebar-full-menu .sidebar-nav{
    overflow:visible!important;
    max-height:none!important;
    padding-bottom:calc(1.4rem + env(safe-area-inset-bottom))!important;
  }
}

/* === Landing page dynamic theme and hover polish === */
.login-uoe-style-page{
  background:var(--landing-panel-bg,#f4f5fb);
  color:var(--landing-primary,#003f86);
}
.login-uoe-shell,
.login-uoe-panel{
  background:var(--landing-panel-bg,#f4f5fb);
}
.login-uoe-image{
  transition:transform .45s ease, filter .45s ease;
}
.login-uoe-visual:hover .login-uoe-image{
  transform:scale(1.035);
  filter:saturate(1.06) contrast(1.03);
}
.login-uoe-heading h1,
.login-uoe-options a,
.login-uoe-signup a,
.login-uoe-footer,
.login-uoe-logo-row i{
  color:var(--landing-primary,#003f86) !important;
}
.login-uoe-card{
  background:var(--landing-card-bg,#fff);
}
.login-uoe-input,
.login-uoe-eye-btn{
  background:var(--landing-input-bg,#e5edf9);
}
.login-uoe-input:focus,
.login-uoe-eye-btn:hover,
.login-uoe-eye-btn:focus{
  background:color-mix(in srgb, var(--landing-input-bg,#e5edf9) 78%, #ffffff);
  border-color:rgba(var(--landing-primary-rgb,0,63,134),.32);
}
.login-uoe-submit{
  background:var(--landing-button,#003f86);
  border-color:var(--landing-button,#003f86);
  color:var(--landing-button-text,#fff);
}
.login-uoe-submit:hover,.login-uoe-submit:focus{
  background:color-mix(in srgb, var(--landing-button,#003f86) 88%, #000000);
  border-color:color-mix(in srgb, var(--landing-button,#003f86) 88%, #000000);
  color:var(--landing-button-text,#fff);
}
.login-uoe-hover-tip{
  position:absolute;
  left:50%;
  bottom:5%;
  z-index:4;
  transform:translate(-50%,18px);
  opacity:0;
  max-width:min(86%,580px);
  background:rgba(0,0,0,.58);
  color:#fff;
  padding:.7rem 1rem;
  border-radius:999px;
  font-weight:800;
  text-align:center;
  box-shadow:0 .65rem 1.6rem rgba(0,0,0,.18);
  transition:opacity .25s ease, transform .25s ease;
  pointer-events:none;
}
.login-uoe-visual:hover .login-uoe-hover-tip{
  opacity:1;
  transform:translate(-50%,0);
}
.settings-hover-preview{
  position:relative;
  overflow:hidden;
  min-height:130px;
  border-radius:1rem;
  border:1px solid #dbe3f0;
  background:#eef2f8;
  box-shadow:0 .5rem 1rem rgba(15,23,42,.05);
}
.settings-hover-preview img{
  width:100%;
  height:150px;
  display:block;
  object-fit:cover;
  transition:transform .35s ease, filter .35s ease;
}
.settings-hover-preview span{
  position:absolute;
  inset:auto 1rem 1rem 1rem;
  background:rgba(0,0,0,.58);
  color:#fff;
  padding:.55rem .75rem;
  border-radius:.85rem;
  font-weight:800;
  font-size:.9rem;
  text-align:center;
  transform:translateY(10px);
  opacity:.86;
  transition:transform .25s ease, opacity .25s ease;
}
.settings-hover-preview:hover img{transform:scale(1.04);filter:saturate(1.06) contrast(1.02)}
.settings-hover-preview:hover span{transform:translateY(0);opacity:1}
.settings-login-mini-preview{
  border:1px solid rgba(15,23,42,.08);
  border-radius:1rem;
  padding:.75rem;
  box-shadow:0 .45rem 1rem rgba(15,23,42,.05);
}
.settings-login-mini-preview .mini-heading{font-weight:900;font-size:.82rem;margin-bottom:.45rem;text-align:center}
.settings-login-mini-preview .mini-card{border-radius:.75rem;padding:.55rem;background:#fff;box-shadow:0 .3rem .8rem rgba(15,23,42,.08)}
.settings-login-mini-preview .mini-card div{height:20px;border:1px solid #dbe3ee;margin-bottom:.45rem}
.settings-login-mini-preview .mini-card button{width:100%;border:0;border-radius:.35rem;color:#fff;font-weight:800;font-size:.75rem;padding:.28rem .35rem}
.public-college-visual{
  position:relative;
  overflow:hidden;
  border-radius:1.3rem;
  min-height:180px;
  background:#dbe7f6;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 1rem 2.2rem rgba(15,23,42,.18);
}
.public-college-visual img{
  width:100%;
  height:220px;
  object-fit:cover;
  display:block;
  transition:transform .4s ease, filter .4s ease;
}
.public-college-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.38));
}
.public-college-visual-caption{
  position:absolute;
  left:1rem;
  right:1rem;
  bottom:1rem;
  z-index:2;
  color:#fff;
  font-weight:900;
  text-shadow:0 2px 8px rgba(0,0,0,.35);
}
.public-college-visual:hover img{transform:scale(1.04);filter:saturate(1.08) contrast(1.03)}
@media (max-width:575.98px){
  .login-uoe-hover-tip{display:none}
  .public-college-visual img{height:170px}
}


/* === Click-to-open sidebar submenu behaviour === */
.sidebar-group.active-group > .sidebar-group-toggle{
  background:linear-gradient(90deg,rgba(var(--theme-primary-rgb),.18),rgba(255,255,255,.06));
  box-shadow:inset 3px 0 0 var(--theme-accent);
}
.sidebar-group:not(.is-open) > .collapse{display:none!important}
.sidebar-group.is-open > .collapse{display:block}


/* === Application form split-screen layout controlled from Institution Settings === */
.application-split-page{
  background:linear-gradient(180deg,rgba(var(--app-surface-rgb),.58),#fff 68%);
  color:#0f172a;
}
.application-image-pane{background:#0f172a;min-height:100vh;}
.application-image-wrap{position:sticky;top:0;height:100vh;min-height:620px;overflow:hidden;}
.application-image-wrap img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s ease,filter .55s ease;}
.application-image-wrap:hover img{transform:scale(1.045);filter:saturate(1.08) contrast(1.04);}
.application-image-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(var(--app-nav-rgb),.86),rgba(15,23,42,.42) 45%,rgba(0,0,0,.66));}
.application-image-content{position:absolute;inset:0;z-index:2;padding:clamp(1.5rem,3vw,3rem);display:flex;flex-direction:column;justify-content:space-between;color:#fff;}
.application-brand-logo{width:64px;height:64px;border-radius:1.15rem;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;overflow:hidden;backdrop-filter:blur(8px);box-shadow:0 .75rem 1.4rem rgba(0,0,0,.18);}
.application-brand-logo img{width:100%;height:100%;object-fit:contain;padding:.35rem;}
.application-brand-logo i{font-size:1.8rem;color:#fff;}
.application-brand-name{font-size:1.05rem;font-weight:900;letter-spacing:.02em;}
.application-brand-caption{font-size:.86rem;color:rgba(255,255,255,.78);max-width:520px;}
.application-image-text h1{font-size:clamp(2.1rem,4vw,4rem);font-weight:950;line-height:1.03;max-width:620px;}
.application-image-text p{font-size:1.05rem;color:rgba(255,255,255,.82);max-width:580px;}
.application-image-placeholder-note{margin-top:1rem;display:inline-flex;align-items:flex-start;gap:.55rem;max-width:620px;padding:.75rem .9rem;border-radius:1rem;background:rgba(255,255,255,.14);border:1px dashed rgba(255,255,255,.38);color:rgba(255,255,255,.9);font-size:.9rem;font-weight:650;backdrop-filter:blur(8px);}
.application-image-placeholder-note i{font-size:1.05rem;line-height:1.25;color:#fff;}
.application-quick-links{display:flex;flex-wrap:wrap;gap:.7rem;}
.application-quick-links span{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .85rem;border-radius:999px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.18);font-weight:750;font-size:.9rem;backdrop-filter:blur(8px);}
.application-form-pane{background:linear-gradient(180deg,#f8fafc,#ffffff);min-height:100vh;}
.application-form-shell{width:min(900px,100%);margin:0 auto;padding:clamp(1.25rem,3vw,3.5rem);}
.application-form-header h2{font-weight:950;letter-spacing:-.03em;}
.application-step-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.42rem .75rem;background:rgba(var(--app-button-rgb),.12);color:var(--app-button-color);font-weight:850;font-size:.82rem;}
.application-settings-note{display:flex;align-items:flex-start;gap:.55rem;border:1px dashed rgba(var(--app-hero-rgb),.24);border-radius:1rem;background:rgba(var(--app-surface-rgb),.5);padding:.8rem 1rem;color:#475569;font-size:.9rem;}
.application-settings-note i{color:var(--app-button-color);margin-top:.05rem;}
.application-form-card{border-top:0;background:#fff;border-radius:1.35rem;}
.application-form-card .form-label{font-weight:700;color:#334155;font-size:.92rem;}
.application-form-card .form-control,.application-form-card .form-select{border-radius:.85rem;min-height:46px;}
.application-form-card textarea.form-control{min-height:auto;}
@media (max-width:991.98px){
  .application-image-pane{min-height:360px;}
  .application-image-wrap{position:relative;height:360px;min-height:360px;}
  .application-image-content{padding:1.5rem;}
  .application-image-text h1{font-size:2rem;}
  .application-image-text p{font-size:.95rem;}
  .application-image-placeholder-note{font-size:.82rem;padding:.6rem .75rem;}
  .application-form-pane{min-height:auto;}
  .application-form-shell{padding:1.25rem;}
}
@media (max-width:575.98px){
  .application-image-wrap{height:310px;min-height:310px;}
  .application-brand-logo{width:52px;height:52px;border-radius:1rem;}
  .application-brand-caption{display:none;}
  .application-quick-links{display:none;}
  .application-image-placeholder-note{display:none;}
  .application-settings-note{display:none;}
  .application-form-card .card-body{padding:1.1rem!important;}
}

/* === Executive centered form layout refinement === */
:root{
  --form-shell-max-width: 1040px;
  --form-shell-narrow-width: 760px;
  --form-panel-bg: #ffffff;
  --form-panel-border: rgba(15,23,42,.075);
  --form-field-bg: #f8fafc;
}
.content-area{
  max-width: 1560px;
  margin-left: auto;
  margin-right: auto;
}
.content-area .sk-form-col{
  margin-left:auto!important;
  margin-right:auto!important;
}
.content-area .sk-form-col:not(.sk-filter-col){
  width:100%;
  max-width:var(--form-shell-max-width);
}
.content-area .sk-form-col.sk-narrow-form-col{
  max-width:var(--form-shell-narrow-width);
}
.content-area .sk-form-card{
  border:1px solid var(--form-panel-border)!important;
  border-radius:1.35rem!important;
  box-shadow:0 .85rem 2rem rgba(15,23,42,.07)!important;
  background:linear-gradient(180deg,#fff,#fcfdff)!important;
}
.content-area .sk-form-card > .card-header{
  background:linear-gradient(135deg,rgba(var(--theme-primary-rgb),.075),rgba(var(--theme-secondary-rgb),.045),#fff)!important;
  border-bottom:1px solid rgba(var(--theme-primary-rgb),.10)!important;
  padding:1.05rem 1.25rem!important;
}
.content-area .sk-form-card > .card-header strong,
.content-area .sk-form-card > .card-header .fw-bold{
  display:flex;
  align-items:center;
  gap:.55rem;
  font-weight:850;
  color:#0f172a;
}
.content-area .sk-form-card > .card-header strong::before,
.content-area .sk-form-card > .card-header .fw-bold::before{
  content:"";
  width:.72rem;
  height:.72rem;
  border-radius:999px;
  background:linear-gradient(135deg,var(--theme-primary),var(--theme-secondary));
  box-shadow:0 0 0 .24rem rgba(var(--theme-primary-rgb),.10);
  flex:0 0 .72rem;
}
.content-area .sk-form-card .card-body{
  padding:1.35rem!important;
}
.content-area form.sk-form-enhanced{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}
.content-area form.sk-form-enhanced .form-label{
  font-weight:750;
  color:#334155;
  margin-bottom:.38rem;
  font-size:.92rem;
}
.content-area form.sk-form-enhanced .form-control,
.content-area form.sk-form-enhanced .form-select,
.content-area form.sk-form-enhanced textarea.form-control{
  border-radius:.95rem;
  border:1px solid #dbe4f0;
  background:var(--form-field-bg);
  min-height:46px;
  box-shadow:none;
  transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.content-area form.sk-form-enhanced textarea.form-control{
  min-height:96px;
}
.content-area form.sk-form-enhanced .form-control:focus,
.content-area form.sk-form-enhanced .form-select:focus,
.content-area form.sk-form-enhanced textarea.form-control:focus{
  background:#fff;
  border-color:rgba(var(--theme-primary-rgb),.45);
  box-shadow:0 0 0 .22rem rgba(var(--theme-primary-rgb),.10);
}
.content-area form.sk-form-enhanced .btn{
  border-radius:.95rem;
  min-height:44px;
}
.content-area form.sk-form-enhanced .btn-primary,
.content-area form.sk-form-enhanced .btn-success{
  box-shadow:0 .45rem .9rem rgba(var(--theme-primary-rgb),.14);
}
.content-area form.sk-form-enhanced.sk-long-form{
  align-items:end;
}
.content-area form.sk-form-enhanced.sk-long-form.row{
  --bs-gutter-x: 1rem;
  --bs-gutter-y: 1rem;
}
.content-area form.sk-form-enhanced.sk-long-form.row > .sk-field{
  flex:0 0 auto;
  width:50%;
  max-width:50%;
}
.content-area form.sk-form-enhanced.sk-long-form.row > .sk-field.sk-wide,
.content-area form.sk-form-enhanced.sk-long-form.row > .sk-actions,
.content-area form.sk-form-enhanced.sk-long-form.row > .col-12.sk-wide{
  width:100%;
  max-width:100%;
}
.content-area form.sk-form-enhanced.sk-long-form .sk-actions{
  margin-top:.25rem;
  padding-top:.5rem;
  border-top:1px dashed #e2e8f0;
}
.content-area .sk-form-card .table-responsive{
  border-radius:1rem;
}
.content-area .sk-form-card .alert{
  border-radius:1rem;
}
/* Keep compact filters, inline buttons and table bulk forms practical */
.content-area form.sk-filter-form{
  padding:.85rem;
  border:1px solid #e7edf5;
  border-radius:1rem;
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.content-area form.sk-filter-form .form-control,
.content-area form.sk-filter-form .form-select{
  min-height:40px;
  border-radius:.8rem;
}
/* Public application form gets the same cleaner two-column treatment */
.application-form-card form.row.g-3{
  --bs-gutter-x:1rem;
  --bs-gutter-y:1rem;
}
.application-form-card form.row.g-3 > div.col-12:not(.d-grid):not(:has(textarea)){
  flex:0 0 auto;
  width:50%;
  max-width:50%;
}
.application-form-card form.row.g-3 > div:has(textarea),
.application-form-card form.row.g-3 > div.d-grid{
  width:100%;
  max-width:100%;
}
.public-form-card.application-form-card{
  max-width:960px;
  margin-left:auto;
  margin-right:auto;
}
@media (min-width:1200px){
  .content-area form.sk-form-enhanced.sk-long-form.row > .sk-field.sk-third{
    width:33.333333%;
    max-width:33.333333%;
  }
}
@media (max-width:991.98px){
  .content-area{padding:1rem!important;}
  .content-area .sk-form-card .card-body{padding:1.1rem!important;}
  .content-area form.sk-form-enhanced.sk-long-form.row > .sk-field,
  .content-area form.sk-form-enhanced.sk-long-form.row > .sk-field.sk-third,
  .application-form-card form.row.g-3 > div.col-12:not(.d-grid):not(:has(textarea)){
    width:100%;
    max-width:100%;
  }
}
@media (max-width:575.98px){
  .content-area{padding:.85rem!important;}
  .content-area .card-header{padding:.85rem 1rem!important;}
  .content-area .sk-form-card .card-body{padding:.95rem!important;}
  .content-area form.sk-form-enhanced .form-control,
  .content-area form.sk-form-enhanced .form-select{min-height:44px;}
}

/* === Compact full-width forms and Marks Governance redesign === */
:root{
  --form-shell-max-width: 100%;
  --form-shell-narrow-width: 100%;
}
.content-area{
  width:100%;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:clamp(.65rem,1.15vw,1.15rem)!important;
  padding-right:clamp(.65rem,1.15vw,1.15rem)!important;
}
.content-area.row{
  --bs-gutter-x:.85rem;
  --bs-gutter-y:.85rem;
}
.content-area .sk-form-col,
.content-area .sk-form-col:not(.sk-filter-col),
.content-area .sk-form-col.sk-narrow-form-col{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
.content-area .sk-form-card{
  border-radius:1.05rem!important;
  box-shadow:0 .45rem 1.1rem rgba(15,23,42,.055)!important;
}
.content-area .sk-form-card > .card-header{
  padding:.8rem 1rem!important;
}
.content-area .sk-form-card .card-body{
  padding:1rem!important;
}
.content-area form.sk-form-enhanced.sk-long-form.row{
  --bs-gutter-x:.75rem;
  --bs-gutter-y:.75rem;
}
.content-area form.sk-form-enhanced .form-label{
  margin-bottom:.25rem;
  font-size:.88rem;
}
.content-area form.sk-form-enhanced .form-control,
.content-area form.sk-form-enhanced .form-select,
.content-area form.sk-form-enhanced textarea.form-control{
  min-height:40px;
  border-radius:.72rem;
  font-size:.94rem;
}
.content-area form.sk-form-enhanced textarea.form-control{
  min-height:78px;
}
.content-area form.sk-form-enhanced .btn{
  min-height:40px;
  border-radius:.72rem;
}
@media (min-width:992px){
  .content-area form.sk-form-enhanced.sk-long-form.row > .sk-field:not(.sk-wide):not(.sk-actions),
  .content-area form.sk-form-enhanced.sk-long-form.row > .sk-field.sk-third:not(.sk-wide):not(.sk-actions){
    width:33.333333%!important;
    max-width:33.333333%!important;
  }
  .content-area form.sk-form-enhanced.sk-long-form.row > .sk-field.sk-half:not(.sk-wide):not(.sk-actions){
    width:50%!important;
    max-width:50%!important;
  }
}
@media (min-width:768px) and (max-width:991.98px){
  .content-area form.sk-form-enhanced.sk-long-form.row > .sk-field:not(.sk-wide):not(.sk-actions),
  .content-area form.sk-form-enhanced.sk-long-form.row > .sk-field.sk-third:not(.sk-wide):not(.sk-actions){
    width:50%!important;
    max-width:50%!important;
  }
}
@media (max-width:767.98px){
  .content-area{padding-left:.75rem!important;padding-right:.75rem!important;}
  .content-area .sk-form-card .card-body{padding:.85rem!important;}
}
.marks-governance-card{
  border:1px solid rgba(15,23,42,.075)!important;
  border-radius:1.1rem!important;
  background:linear-gradient(180deg,#fff,#fbfdff)!important;
}
.marks-gov-layout{
  display:grid;
  grid-template-rows:auto auto auto;
  gap:.75rem;
}
.marks-gov-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1rem;
  padding-bottom:.5rem;
  border-bottom:1px dashed #e2e8f0;
}
.marks-gov-eyebrow{
  display:block;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#64748b;
  font-weight:850;
  margin-bottom:.15rem;
}
.marks-gov-actions{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:.6rem;
}
.marks-gov-actions form{min-width:0;}
.marks-gov-actions .btn{
  min-height:42px;
  border-radius:.85rem;
  font-weight:800;
  white-space:normal;
}
.marks-gov-note{
  padding:.55rem .75rem;
  border-radius:.8rem;
  background:#f8fafc;
  color:#475569;
  font-size:.85rem;
  border:1px solid #e7edf5;
}
@media (max-width:991.98px){
  .marks-gov-actions{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:575.98px){
  .marks-gov-head{display:block;}
  .marks-gov-head .badge{margin-top:.6rem;}
  .marks-gov-actions{grid-template-columns:1fr;}
}

/* === Global accessible compact full-page forms redesign ===
   Makes forms use the full page width, removes scattered empty spaces, and keeps fields readable. */
:root{
  --sk-form-radius:.82rem;
  --sk-form-gap:.65rem;
  --sk-form-pad:.85rem;
  --sk-form-border:#dbe4f0;
  --sk-form-muted:#64748b;
  --sk-form-surface:#ffffff;
  --sk-form-field:#f8fafc;
}
.content-area{
  max-width:none!important;
  width:100%!important;
  padding:1rem!important;
}
.content-area > .container,
.content-area > .container-fluid,
.main-wrap > .container,
.main-wrap > .container-fluid{
  max-width:none!important;
  width:100%!important;
  padding-left:0!important;
  padding-right:0!important;
}
.content-area .row{
  --bs-gutter-x:.75rem;
  --bs-gutter-y:.75rem;
}
.content-area .card,
.content-area .card-stat,
.content-area .sk-form-card{
  border-radius:1rem!important;
  border:1px solid rgba(15,23,42,.075)!important;
  box-shadow:0 .45rem 1.1rem rgba(15,23,42,.055)!important;
}
.content-area .card-header,
.content-area .sk-form-card > .card-header{
  padding:.7rem .9rem!important;
  background:linear-gradient(135deg,rgba(var(--theme-primary-rgb),.075),rgba(var(--theme-secondary-rgb),.045),#fff)!important;
  border-bottom:1px solid rgba(15,23,42,.075)!important;
}
.content-area .card-body,
.content-area .sk-form-card .card-body{
  padding:.85rem!important;
}
.content-area .sk-form-col,
.content-area .sk-form-col:not(.sk-filter-col),
.content-area .sk-form-col.sk-narrow-form-col,
.content-area [class*="col-"]:has(> .sk-form-card),
.content-area [class*="col-"]:has(> form.sk-form-enhanced){
  width:100%!important;
  max-width:100%!important;
  flex:0 0 100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.content-area form.sk-form-enhanced{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}
.content-area form.sk-form-enhanced.sk-long-form,
.content-area form.sk-form-enhanced.sk-auto-grid,
.application-form-card form.sk-auto-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(180px,1fr));
  gap:var(--sk-form-gap)!important;
  align-items:end;
}
.content-area form.sk-form-enhanced.sk-long-form.row,
.content-area form.sk-form-enhanced.sk-auto-grid.row,
.application-form-card form.sk-auto-grid.row{
  margin-left:0!important;
  margin-right:0!important;
}
.content-area form.sk-form-enhanced.sk-long-form.row > *,
.content-area form.sk-form-enhanced.sk-auto-grid.row > *,
.application-form-card form.sk-auto-grid.row > *{
  padding-left:0!important;
  padding-right:0!important;
}
.content-area form.sk-form-enhanced.sk-long-form > .sk-field,
.content-area form.sk-form-enhanced.sk-auto-grid > .sk-field,
.application-form-card form.sk-auto-grid > .sk-field,
.content-area form.sk-form-enhanced.sk-long-form.row > .sk-field:not(.sk-wide):not(.sk-actions),
.content-area form.sk-form-enhanced.sk-long-form.row > .sk-field.sk-third:not(.sk-wide):not(.sk-actions),
.content-area form.sk-form-enhanced.sk-long-form.row > .sk-field.sk-half:not(.sk-wide):not(.sk-actions),
.application-form-card form.row.g-3 > div.col-12:not(.d-grid):not(:has(textarea)){
  width:auto!important;
  max-width:none!important;
  flex:auto!important;
  min-width:0;
}
.content-area form.sk-form-enhanced > .sk-field,
.application-form-card form.sk-form-enhanced > .sk-field{
  min-width:0;
}
.content-area form.sk-form-enhanced .sk-wide,
.content-area form.sk-form-enhanced .sk-actions,
.content-area form.sk-form-enhanced .col-12.sk-wide,
.application-form-card form.sk-form-enhanced .sk-wide,
.application-form-card form.sk-form-enhanced .sk-actions,
.application-form-card form.row.g-3 > div:has(textarea),
.application-form-card form.row.g-3 > div.d-grid{
  grid-column:1 / -1!important;
  width:100%!important;
  max-width:100%!important;
}
.content-area form.sk-form-enhanced .sk-half-wide{
  grid-column:span 2!important;
}
.content-area form.sk-form-enhanced .form-label,
.application-form-card form.sk-form-enhanced .form-label{
  font-size:.82rem!important;
  font-weight:800!important;
  color:#334155!important;
  margin-bottom:.22rem!important;
}
.content-area form.sk-form-enhanced .form-control,
.content-area form.sk-form-enhanced .form-select,
.content-area form.sk-form-enhanced textarea.form-control,
.application-form-card form.sk-form-enhanced .form-control,
.application-form-card form.sk-form-enhanced .form-select,
.application-form-card form.sk-form-enhanced textarea.form-control{
  min-height:38px!important;
  border-radius:.68rem!important;
  border:1px solid var(--sk-form-border)!important;
  background:var(--sk-form-field)!important;
  padding:.42rem .65rem!important;
  font-size:.9rem!important;
  box-shadow:none!important;
}
.content-area form.sk-form-enhanced textarea.form-control,
.application-form-card form.sk-form-enhanced textarea.form-control{
  min-height:70px!important;
}
.content-area form.sk-form-enhanced .form-control:focus,
.content-area form.sk-form-enhanced .form-select:focus,
.content-area form.sk-form-enhanced textarea.form-control:focus,
.application-form-card form.sk-form-enhanced .form-control:focus,
.application-form-card form.sk-form-enhanced .form-select:focus,
.application-form-card form.sk-form-enhanced textarea.form-control:focus{
  background:#fff!important;
  border-color:rgba(var(--theme-primary-rgb),.55)!important;
  box-shadow:0 0 0 .15rem rgba(var(--theme-primary-rgb),.12)!important;
}
.content-area form.sk-form-enhanced .btn,
.application-form-card form.sk-form-enhanced .btn{
  min-height:38px!important;
  border-radius:.68rem!important;
  padding:.42rem .78rem!important;
  font-size:.9rem!important;
}
.content-area form.sk-form-enhanced .input-group .btn{
  border-top-left-radius:0!important;
  border-bottom-left-radius:0!important;
}
.content-area form.sk-filter-form,
.content-area .filter-bar,
.content-area .entity-filter-bar{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(160px,1fr));
  gap:.55rem!important;
  align-items:end;
  padding:.65rem!important;
  width:100%!important;
  max-width:100%!important;
  border-radius:.9rem!important;
  background:linear-gradient(180deg,#fff,#f8fafc)!important;
}
.content-area form.sk-filter-form > *,
.content-area .filter-bar > *,
.content-area .entity-filter-bar > *{
  min-width:0;
}
.content-area .table-responsive{
  width:100%!important;
  border:1px solid rgba(15,23,42,.07);
  border-radius:.9rem!important;
  background:#fff;
}
.content-area .table th,
.content-area .table td{
  padding:.46rem .55rem!important;
  vertical-align:middle!important;
  font-size:.88rem;
}
.content-area .table .form-control,
.content-area .table .form-select{
  min-height:34px!important;
  border-radius:.55rem!important;
  padding:.32rem .5rem!important;
  font-size:.86rem!important;
}
.content-area .data-toolbar,
.content-area .section-toolbar,
.content-area .page-title-wrap,
.content-area .page-title-row{
  padding:.7rem .85rem!important;
  border-radius:.95rem!important;
  margin-bottom:.75rem!important;
}
.content-area .alert{
  padding:.65rem .85rem!important;
  border-radius:.85rem!important;
}
.content-area .mb-4{margin-bottom:1rem!important;}
.content-area .mb-3{margin-bottom:.65rem!important;}
.content-area .mt-4{margin-top:1rem!important;}
.content-area .g-4{--bs-gutter-x:.75rem;--bs-gutter-y:.75rem;}
.content-area .g-3{--bs-gutter-x:.65rem;--bs-gutter-y:.65rem;}

@media (max-width:1399.98px){
  .content-area form.sk-form-enhanced.sk-long-form,
  .content-area form.sk-form-enhanced.sk-auto-grid,
  .application-form-card form.sk-auto-grid{
    grid-template-columns:repeat(3,minmax(180px,1fr));
  }
  .content-area form.sk-filter-form,
  .content-area .filter-bar,
  .content-area .entity-filter-bar{
    grid-template-columns:repeat(4,minmax(150px,1fr));
  }
}
@media (max-width:991.98px){
  .content-area{padding:.75rem!important;}
  .content-area form.sk-form-enhanced.sk-long-form,
  .content-area form.sk-form-enhanced.sk-auto-grid,
  .application-form-card form.sk-auto-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .content-area form.sk-filter-form,
  .content-area .filter-bar,
  .content-area .entity-filter-bar{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:575.98px){
  .content-area{padding:.55rem!important;}
  .content-area .card-body,.content-area .sk-form-card .card-body{padding:.65rem!important;}
  .content-area form.sk-form-enhanced.sk-long-form,
  .content-area form.sk-form-enhanced.sk-auto-grid,
  .application-form-card form.sk-auto-grid,
  .content-area form.sk-filter-form,
  .content-area .filter-bar,
  .content-area .entity-filter-bar{
    grid-template-columns:1fr!important;
  }
  .content-area form.sk-form-enhanced .sk-half-wide{
    grid-column:1 / -1!important;
  }
  .content-area .table th,.content-area .table td{font-size:.82rem;padding:.38rem .42rem!important;}
}

/* === Table blank-space fix: make records use the visible page width === */
.content-area .table-responsive{
  width:100%!important;
  max-width:100%!important;
  background:#fff;
}
.content-area .table-responsive > table,
.content-area .table-responsive > .table{
  width:100%!important;
  min-width:100%!important;
  margin-bottom:0!important;
  table-layout:auto;
}
.content-area .table th,
.content-area .table td{
  vertical-align:middle;
  overflow-wrap:anywhere;
  word-break:normal;
}
.content-area .table td:last-child,
.content-area .table th:last-child{
  white-space:nowrap;
  width:1%;
}
.content-area .table .btn-group,
.content-area .table .btn-toolbar,
.content-area .table .action-buttons{
  display:inline-flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:0;
  white-space:nowrap;
}
@media (min-width:992px){
  .content-area .table-responsive{
    overflow-x:auto;
    scrollbar-width:thin;
  }
  .content-area .table-responsive > table,
  .content-area .table-responsive > .table{
    min-width:100%!important;
  }
}
@media (max-width:991.98px){
  .content-area .table-responsive{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .content-area .table-responsive > table,
  .content-area .table-responsive > .table{
    min-width:760px!important;
  }
}

/* === FINAL GLOBAL TABLE EXPAND FIX: use the entire remaining content area === */
html, body{
  width:100%!important;
  max-width:100%!important;
}
.layout-shell,
body > .d-flex,
.main-wrap,
.main-wrap.w-100,
.content-area{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}
.content-area{
  padding-left:.75rem!important;
  padding-right:.75rem!important;
  overflow-x:hidden!important;
}
.content-area > .container,
.content-area > .container-sm,
.content-area > .container-md,
.content-area > .container-lg,
.content-area > .container-xl,
.content-area > .container-xxl,
.content-area .container,
.content-area .container-fluid{
  width:100%!important;
  max-width:100%!important;
  padding-left:0!important;
  padding-right:0!important;
}
.content-area .row{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
.content-area .row > [class*="col-"]{
  min-width:0!important;
}
.content-area .row > [class*="col-"]:has(.table-responsive),
.content-area .row > [class*="col-"]:has(table.table),
.content-area .sk-table-full-col{
  width:100%!important;
  max-width:100%!important;
  flex:0 0 100%!important;
  padding-left:.25rem!important;
  padding-right:.25rem!important;
}
.content-area .card:has(.table-responsive),
.content-area .card:has(table.table),
.content-area .sk-table-card{
  width:100%!important;
  max-width:100%!important;
}
.content-area .card-body:has(.table-responsive),
.content-area .card-body:has(table.table){
  width:100%!important;
  max-width:100%!important;
  padding-left:.65rem!important;
  padding-right:.65rem!important;
}
.content-area .table-responsive,
.content-area .sk-table-responsive-full{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  border-radius:.8rem!important;
}
.content-area .table-responsive > table,
.content-area .table-responsive > .table,
.content-area table.table,
.content-area .sk-table-full-width{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  margin-bottom:0!important;
}
.content-area table.table th,
.content-area table.table td,
.content-area .table th,
.content-area .table td{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  max-width:none!important;
  padding:.48rem .5rem!important;
  vertical-align:middle!important;
}
.content-area table.table th:last-child,
.content-area table.table td:last-child,
.content-area .table th:last-child,
.content-area .table td:last-child{
  width:auto!important;
  white-space:normal!important;
}
.content-area table.table .btn,
.content-area .table .btn{
  white-space:normal!important;
  margin:.12rem!important;
  padding:.35rem .55rem!important;
}
.content-area table.table .btn-group,
.content-area .table .btn-group,
.content-area table.table .action-buttons,
.content-area .table .action-buttons,
.content-area table.table form,
.content-area .table form{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:.25rem!important;
  align-items:center!important;
  white-space:normal!important;
}
@media (min-width:992px){
  .content-area .table-responsive,
  .content-area .sk-table-responsive-full{
    overflow-x:hidden!important;
  }
}
@media (max-width:991.98px){
  .content-area{
    padding-left:.5rem!important;
    padding-right:.5rem!important;
  }
  .content-area .table-responsive > table,
  .content-area .table-responsive > .table,
  .content-area table.table{
    table-layout:auto!important;
  }
  .content-area .table-responsive{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch;
  }
}

/* === GLOBAL RECORD LIST VISIBILITY FIX: remove horizontal table scrolling on narrow pages === */
.content-area .table-responsive{
  max-width:100%!important;
}
.content-area table.table{
  width:100%!important;
}
.content-area table.table th,
.content-area table.table td{
  line-height:1.35!important;
}
.content-area table.table td .text-muted,
.content-area table.table td small{
  white-space:normal!important;
}
.content-area table.table td .btn-group,
.content-area table.table td .action-buttons{
  max-width:100%!important;
}
@media (max-width:1199.98px){
  .content-area .table-responsive,
  .content-area .sk-table-responsive-full{
    overflow-x:visible!important;
    background:transparent!important;
    border-radius:0!important;
  }
  .content-area table.table:not(.sk-keep-table),
  .content-area table.table:not(.sk-keep-table) thead,
  .content-area table.table:not(.sk-keep-table) tbody,
  .content-area table.table:not(.sk-keep-table) tfoot,
  .content-area table.table:not(.sk-keep-table) tr,
  .content-area table.table:not(.sk-keep-table) th,
  .content-area table.table:not(.sk-keep-table) td{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
  }
  .content-area table.table:not(.sk-keep-table){
    border-collapse:separate!important;
    border-spacing:0 .65rem!important;
    table-layout:auto!important;
    min-width:0!important;
    background:transparent!important;
  }
  .content-area table.table:not(.sk-keep-table) thead{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
  }
  .content-area table.table:not(.sk-keep-table) tbody tr{
    background:#fff!important;
    border:1px solid rgba(15,23,42,.12)!important;
    border-radius:.95rem!important;
    box-shadow:0 .35rem 1rem rgba(15,23,42,.06)!important;
    margin-bottom:.75rem!important;
    padding:.55rem .65rem!important;
  }
  .content-area table.table:not(.sk-keep-table) tbody tr td{
    border:0!important;
    border-bottom:1px solid rgba(15,23,42,.07)!important;
    padding:.48rem 0!important;
    min-height:2.05rem!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:.8rem!important;
    text-align:right!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  .content-area table.table:not(.sk-keep-table) tbody tr td:last-child{
    border-bottom:0!important;
  }
  .content-area table.table:not(.sk-keep-table) tbody tr td::before{
    content:attr(data-label);
    flex:0 0 38%;
    max-width:38%;
    text-align:left!important;
    font-weight:700!important;
    color:#0f172a!important;
    letter-spacing:.01em!important;
  }
  .content-area table.table:not(.sk-keep-table) tbody tr td[data-label=""],
  .content-area table.table:not(.sk-keep-table) tbody tr td:not([data-label]){
    justify-content:flex-start!important;
    text-align:left!important;
  }
  .content-area table.table:not(.sk-keep-table) tbody tr td[data-label=""]::before,
  .content-area table.table:not(.sk-keep-table) tbody tr td:not([data-label])::before{
    display:none!important;
  }
  .content-area table.table:not(.sk-keep-table) .btn-group,
  .content-area table.table:not(.sk-keep-table) .action-buttons,
  .content-area table.table:not(.sk-keep-table) form{
    justify-content:flex-end!important;
    flex-wrap:wrap!important;
  }
  .content-area table.table:not(.sk-keep-table) .btn{
    white-space:nowrap!important;
  }
  .content-area table.table:not(.sk-keep-table) input[type="checkbox"]{
    transform:scale(1.05);
  }
}
@media (max-width:575.98px){
  .content-area table.table:not(.sk-keep-table) tbody tr{
    padding:.45rem .55rem!important;
    border-radius:.8rem!important;
  }
  .content-area table.table:not(.sk-keep-table) tbody tr td{
    flex-direction:column!important;
    align-items:stretch!important;
    gap:.25rem!important;
    text-align:left!important;
  }
  .content-area table.table:not(.sk-keep-table) tbody tr td::before{
    flex:0 0 auto!important;
    max-width:100%!important;
    font-size:.78rem!important;
    text-transform:uppercase!important;
    color:#475569!important;
  }
  .content-area table.table:not(.sk-keep-table) .btn-group,
  .content-area table.table:not(.sk-keep-table) .action-buttons,
  .content-area table.table:not(.sk-keep-table) form{
    justify-content:flex-start!important;
  }
}


/* =========================================================
   GLOBAL FORM BUTTON ROW FIX
   Keeps action/export buttons in clean horizontal rows
   instead of stacked full-width vertical blocks.
   ========================================================= */
.form-action-row,
.export-action-row,
.report-action-row,
.form-button-row,
.action-button-row,
.student-export-actions,
.bulk-action-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem !important;
  width: 100% !important;
  align-items: stretch !important;
  margin-top: .75rem !important;
  margin-bottom: 1rem !important;
}

.form-action-row .btn,
.export-action-row .btn,
.report-action-row .btn,
.form-button-row .btn,
.action-button-row .btn,
.student-export-actions .btn,
.bulk-action-row .btn {
  width: 100% !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

/* Bootstrap rows containing only full-width buttons should behave like button toolbars. */
form .row > [class*="col-"] > .btn.w-100,
.card-body > .row > [class*="col-"] > .btn.w-100 {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

/* Export/download/filter action blocks should not become oversized vertical button stacks. */
form .row:has(.btn.w-100),
.card-body > .row:has(.btn.w-100) {
  align-items: end;
}

/* On wide screens, compact action/export buttons in the same row where possible. */
@media (min-width: 992px) {
  form .row > .col-md-3:has(> .btn.w-100),
  form .row > .col-md-2:has(> .btn.w-100),
  form .row > .col-md-4:has(> .btn.w-100),
  form .row > .col-lg-3:has(> .btn.w-100),
  .card-body > .row > .col-md-3:has(> .btn.w-100),
  .card-body > .row > .col-md-2:has(> .btn.w-100),
  .card-body > .row > .col-md-4:has(> .btn.w-100),
  .card-body > .row > .col-lg-3:has(> .btn.w-100) {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 150px !important;
    max-width: 220px !important;
  }

  form .row > .col-md-3:has(> .btn.w-100) > .btn,
  form .row > .col-md-2:has(> .btn.w-100) > .btn,
  form .row > .col-md-4:has(> .btn.w-100) > .btn,
  form .row > .col-lg-3:has(> .btn.w-100) > .btn,
  .card-body > .row > .col-md-3:has(> .btn.w-100) > .btn,
  .card-body > .row > .col-md-2:has(> .btn.w-100) > .btn,
  .card-body > .row > .col-md-4:has(> .btn.w-100) > .btn,
  .card-body > .row > .col-lg-3:has(> .btn.w-100) > .btn {
    padding-left: .9rem !important;
    padding-right: .9rem !important;
  }
}

/* Keep phone screens readable: buttons stack with full tap width. */
@media (max-width: 575.98px) {
  .form-action-row,
  .export-action-row,
  .report-action-row,
  .form-button-row,
  .action-button-row,
  .student-export-actions,
  .bulk-action-row {
    grid-template-columns: 1fr !important;
  }
}


/* Marksheet and other six-button action panels */
.six-button-row,
.marksheet-action-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
  gap: .6rem !important;
  width: 100% !important;
}
.six-button-row .btn,
.marksheet-action-row .btn {
  width: 100% !important;
  white-space: nowrap !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: .86rem !important;
}
@media (max-width: 1399.98px) {
  .six-button-row,
  .marksheet-action-row {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767.98px) {
  .six-button-row,
  .marksheet-action-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 575.98px) {
  .six-button-row,
  .marksheet-action-row {
    grid-template-columns: 1fr !important;
  }
}


/* Marks entry compact filter and two-row action button layout */
.marks-entry-filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem 1rem;
  align-items: end;
  width: 100%;
}
.marks-entry-filter-grid .form-field { min-width: 0; }
.marks-entry-filter-grid .unit-field { grid-column: span 2; }
.marks-entry-button-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
  width: 100%;
}
.marks-entry-button-grid .btn {
  width: 100%;
  white-space: nowrap;
  min-height: 38px;
}
@media (max-width: 991.98px) {
  .marks-entry-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .marks-entry-filter-grid .unit-field { grid-column: 1 / -1; }
  .marks-entry-button-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
  .marks-entry-filter-grid,
  .marks-entry-button-grid { grid-template-columns: 1fr; }
}


/* GLOBAL BUTTON GRID MAX-3 OVERRIDE */
.form-action-row,
.export-action-row,
.report-action-row,
.form-button-row,
.action-button-row,
.student-export-actions,
.bulk-action-row,
.six-button-row,
.marksheet-action-row,
.marks-entry-button-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
@media (max-width: 991.98px) {
  .form-action-row,
  .export-action-row,
  .report-action-row,
  .form-button-row,
  .action-button-row,
  .student-export-actions,
  .bulk-action-row,
  .six-button-row,
  .marksheet-action-row,
  .marks-entry-button-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 575.98px) {
  .form-action-row,
  .export-action-row,
  .report-action-row,
  .form-button-row,
  .action-button-row,
  .student-export-actions,
  .bulk-action-row,
  .six-button-row,
  .marksheet-action-row,
  .marks-entry-button-grid {
    grid-template-columns: 1fr !important;
  }
}


/* Enrollment report filters: keep action buttons in one row on desktop */
.enrollment-action-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: .65rem !important;
  width: 100% !important;
}
.enrollment-action-row .btn {
  width: 100% !important;
  min-height: 38px !important;
  white-space: nowrap !important;
}
@media (max-width: 991.98px) {
  .enrollment-action-row { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 575.98px) {
  .enrollment-action-row { grid-template-columns: 1fr !important; }
}


/* Admission List: dropdown export actions */
.admission-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
  align-items: end;
  width: 100%;
}
.admission-filter-grid .filter-search { grid-column: span 2; }
.admission-filter-grid .admission-filter-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  align-items: center;
}
.admission-filter-actions .btn,
.admission-filter-actions .dropdown-toggle {
  min-width: 160px;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.admission-filter-actions .dropdown-menu { min-width: 260px; }
@media (max-width: 991.98px) {
  .admission-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admission-filter-grid .filter-search { grid-column: span 2; }
}
@media (max-width: 575.98px) {
  .admission-filter-grid { grid-template-columns: 1fr; }
  .admission-filter-grid .filter-search,
  .admission-filter-grid .admission-filter-actions { grid-column: 1; }
  .admission-filter-actions .btn,
  .admission-filter-actions .dropdown,
  .admission-filter-actions .dropdown-toggle { width: 100%; }
}


/* SYSTEM BUTTON LAYOUT: TWO BUTTONS PER ROW */
.form-action-row,
.export-action-row,
.report-action-row,
.form-button-row,
.action-button-row,
.student-export-actions,
.bulk-action-row,
.six-button-row,
.marksheet-action-row,
.marks-entry-button-grid,
.enrollment-action-row,
.admission-filter-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .65rem !important;
  width: 100% !important;
  align-items: stretch !important;
}

.form-action-row .btn,
.export-action-row .btn,
.report-action-row .btn,
.form-button-row .btn,
.action-button-row .btn,
.student-export-actions .btn,
.bulk-action-row .btn,
.six-button-row .btn,
.marksheet-action-row .btn,
.marks-entry-button-grid .btn,
.enrollment-action-row .btn,
.admission-filter-actions .btn,
.admission-filter-actions .dropdown,
.admission-filter-actions .dropdown-toggle {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

@media (max-width: 575.98px) {
  .form-action-row,
  .export-action-row,
  .report-action-row,
  .form-button-row,
  .action-button-row,
  .student-export-actions,
  .bulk-action-row,
  .six-button-row,
  .marksheet-action-row,
  .marks-entry-button-grid,
  .enrollment-action-row,
  .admission-filter-actions {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   SYSTEM-WIDE ONE-ROW FORM ACTIONS AND FILTER OPTIONS
   Applies after earlier two-row/max-3 rules.
   ========================================================= */

/* Action/export button groups: one horizontal row on desktop */
.form-action-row,
.export-action-row,
.report-action-row,
.form-button-row,
.action-button-row,
.student-export-actions,
.bulk-action-row,
.six-button-row,
.marksheet-action-row,
.marks-entry-button-grid,
.enrollment-action-row,
.admission-filter-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
  gap: .65rem !important;
  width: 100% !important;
  align-items: stretch !important;
}

.form-action-row .btn,
.export-action-row .btn,
.report-action-row .btn,
.form-button-row .btn,
.action-button-row .btn,
.student-export-actions .btn,
.bulk-action-row .btn,
.six-button-row .btn,
.marksheet-action-row .btn,
.marks-entry-button-grid .btn,
.enrollment-action-row .btn,
.admission-filter-actions .btn,
.admission-filter-actions .dropdown,
.admission-filter-actions .dropdown-toggle {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

/* Enrollment report: force the four actions into one row on desktop */
.enrollment-action-row {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

/* Admission list: visible actions fit in one row */
.admission-filter-actions {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
}

/* Filter option rows: keep dropdown/input options in one clean row on desktop */
.enrollment-filter-form,
.admission-filter-grid,
.marks-entry-filter-grid,
.marksheet-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: .65rem !important;
  width: 100% !important;
  align-items: end !important;
}

.enrollment-filter-form .filter-search,
.enrollment-filter-form .filter-select,
.enrollment-filter-form .filter-scope,
.admission-filter-grid .filter-search,
.marks-entry-filter-grid .form-field,
.marksheet-filter-grid .form-field {
  grid-column: span 1 !important;
  min-width: 0 !important;
}

/* Bootstrap filter rows: make fields share the row instead of full-width stacking */
form.row.g-2,
form.row.g-3,
.card-body > form.row.g-2,
.card-body > form.row.g-3 {
  align-items: end !important;
}

/* Large screens: make common filter columns behave as one-row options */
@media (min-width: 992px) {
  form.row.g-2 > [class*="col-md-"],
  form.row.g-3 > [class*="col-md-"],
  .card-body > form.row.g-2 > [class*="col-md-"],
  .card-body > form.row.g-3 > [class*="col-md-"] {
    flex: 1 1 160px !important;
    max-width: none !important;
  }

  form.row.g-2 > [class*="col-md-"] > .btn,
  form.row.g-3 > [class*="col-md-"] > .btn,
  .card-body > form.row.g-2 > [class*="col-md-"] > .btn,
  .card-body > form.row.g-3 > [class*="col-md-"] > .btn {
    width: 100% !important;
  }
}

/* Tablet: allow two or three per row depending on space */
@media (max-width: 991.98px) {
  .form-action-row,
  .export-action-row,
  .report-action-row,
  .form-button-row,
  .action-button-row,
  .student-export-actions,
  .bulk-action-row,
  .six-button-row,
  .marksheet-action-row,
  .marks-entry-button-grid,
  .enrollment-action-row,
  .admission-filter-actions,
  .enrollment-filter-form,
  .admission-filter-grid,
  .marks-entry-filter-grid,
  .marksheet-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile: one per row for safe tapping */
@media (max-width: 575.98px) {
  .form-action-row,
  .export-action-row,
  .report-action-row,
  .form-button-row,
  .action-button-row,
  .student-export-actions,
  .bulk-action-row,
  .six-button-row,
  .marksheet-action-row,
  .marks-entry-button-grid,
  .enrollment-action-row,
  .admission-filter-actions,
  .enrollment-filter-form,
  .admission-filter-grid,
  .marks-entry-filter-grid,
  .marksheet-filter-grid {
    grid-template-columns: 1fr !important;
  }
}


/* Fee Payment forms: two-column layout */
.fee-payment-two-col {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: .85rem 1rem !important;
  align-items: end !important;
  width: 100% !important;
}
.fee-payment-two-col .form-field { min-width: 0 !important; }
.fee-payment-two-col .full-row { grid-column: 1 / -1 !important; }
.fee-payment-two-col .form-control,
.fee-payment-two-col .form-select { width: 100% !important; }
.fee-payment-two-col .fee-button-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem;
}
.fee-payment-two-col .fee-button-row .btn { width: 100%; }
@media (max-width: 767.98px) {
  .fee-payment-two-col,
  .fee-payment-two-col .fee-button-row { grid-template-columns: 1fr !important; }
  .fee-payment-two-col .full-row { grid-column: 1 !important; }
}


/* =========================================================
   GLOBAL RESPONSIVE FORM LAYOUT 4-3-2-1
   Large desktop: 4 columns where possible
   Desktop: 3 columns
   Tablet: 2 columns
   Mobile: 1 column with readable font/input sizing
   ========================================================= */

/* Main form grids */
form.responsive-form-grid,
.compact-form-grid,
.executive-form-grid,
.form-grid,
.fee-payment-two-col,
.marks-entry-filter-grid,
.marksheet-filter-grid,
.enrollment-filter-form,
.admission-filter-grid,
.card-body > form.row.g-2,
.card-body > form.row.g-3,
.content-area form.row.g-2,
.content-area form.row.g-3 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: .85rem 1rem !important;
  align-items: end !important;
  width: 100% !important;
}

/* Make normal Bootstrap columns behave as grid items in those forms */
.card-body > form.row.g-2 > [class*="col-"],
.card-body > form.row.g-3 > [class*="col-"],
.content-area form.row.g-2 > [class*="col-"],
.content-area form.row.g-3 > [class*="col-"],
form.responsive-form-grid > [class*="col-"],
.compact-form-grid > [class*="col-"],
.executive-form-grid > [class*="col-"],
.form-grid > [class*="col-"],
.fee-payment-two-col > [class*="col-"],
.marks-entry-filter-grid > .form-field,
.marksheet-filter-grid > .form-field,
.enrollment-filter-form > *,
.admission-filter-grid > * {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  min-width: 0 !important;
}

/* Full-row sections such as alerts, tables, notes and large action areas */
.form-full-row,
.full-row,
.col-12.full-row,
.card-body > form.row.g-2 > .col-12:has(.alert),
.card-body > form.row.g-3 > .col-12:has(.alert),
.content-area form.row.g-2 > .col-12:has(.alert),
.content-area form.row.g-3 > .col-12:has(.alert),
.card-body > form.row.g-2 > .col-12:has(textarea),
.card-body > form.row.g-3 > .col-12:has(textarea),
.content-area form.row.g-2 > .col-12:has(textarea),
.content-area form.row.g-3 > .col-12:has(textarea),
.enrollment-action-row,
.admission-filter-actions,
.marks-entry-button-grid,
.marksheet-action-row,
.fee-button-row {
  grid-column: 1 / -1 !important;
}

/* Inputs and labels */
.content-area form .form-label,
.content-area form label {
  font-weight: 700;
  margin-bottom: .35rem;
}

.content-area form .form-control,
.content-area form .form-select,
.content-area form textarea {
  width: 100% !important;
  min-height: 38px;
  font-size: .92rem;
}

.content-area form textarea {
  min-height: 82px;
}

/* Buttons/action rows: use one row where possible, wrapping naturally */
.form-action-row,
.export-action-row,
.report-action-row,
.form-button-row,
.action-button-row,
.student-export-actions,
.bulk-action-row,
.six-button-row,
.marksheet-action-row,
.marks-entry-button-grid,
.enrollment-action-row,
.admission-filter-actions,
.fee-button-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important;
  gap: .65rem !important;
  width: 100% !important;
  align-items: stretch !important;
}

.form-action-row .btn,
.export-action-row .btn,
.report-action-row .btn,
.form-button-row .btn,
.action-button-row .btn,
.student-export-actions .btn,
.bulk-action-row .btn,
.six-button-row .btn,
.marksheet-action-row .btn,
.marks-entry-button-grid .btn,
.enrollment-action-row .btn,
.admission-filter-actions .btn,
.admission-filter-actions .dropdown,
.admission-filter-actions .dropdown-toggle,
.fee-button-row .btn {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

/* Large/very wide screens: four columns */
@media (min-width: 1400px) {
  form.responsive-form-grid,
  .compact-form-grid,
  .executive-form-grid,
  .form-grid,
  .fee-payment-two-col,
  .marks-entry-filter-grid,
  .marksheet-filter-grid,
  .enrollment-filter-form,
  .admission-filter-grid,
  .card-body > form.row.g-2,
  .card-body > form.row.g-3,
  .content-area form.row.g-2,
  .content-area form.row.g-3 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* Normal desktops: three columns */
@media (max-width: 1399.98px) {
  form.responsive-form-grid,
  .compact-form-grid,
  .executive-form-grid,
  .form-grid,
  .fee-payment-two-col,
  .marks-entry-filter-grid,
  .marksheet-filter-grid,
  .enrollment-filter-form,
  .admission-filter-grid,
  .card-body > form.row.g-2,
  .card-body > form.row.g-3,
  .content-area form.row.g-2,
  .content-area form.row.g-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Tablets: two columns */
@media (max-width: 991.98px) {
  form.responsive-form-grid,
  .compact-form-grid,
  .executive-form-grid,
  .form-grid,
  .fee-payment-two-col,
  .marks-entry-filter-grid,
  .marksheet-filter-grid,
  .enrollment-filter-form,
  .admission-filter-grid,
  .card-body > form.row.g-2,
  .card-body > form.row.g-3,
  .content-area form.row.g-2,
  .content-area form.row.g-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .form-action-row,
  .export-action-row,
  .report-action-row,
  .form-button-row,
  .action-button-row,
  .student-export-actions,
  .bulk-action-row,
  .six-button-row,
  .marksheet-action-row,
  .marks-entry-button-grid,
  .enrollment-action-row,
  .admission-filter-actions,
  .fee-button-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Phones: one column and readable mobile font */
@media (max-width: 575.98px) {
  form.responsive-form-grid,
  .compact-form-grid,
  .executive-form-grid,
  .form-grid,
  .fee-payment-two-col,
  .marks-entry-filter-grid,
  .marksheet-filter-grid,
  .enrollment-filter-form,
  .admission-filter-grid,
  .card-body > form.row.g-2,
  .card-body > form.row.g-3,
  .content-area form.row.g-2,
  .content-area form.row.g-3,
  .form-action-row,
  .export-action-row,
  .report-action-row,
  .form-button-row,
  .action-button-row,
  .student-export-actions,
  .bulk-action-row,
  .six-button-row,
  .marksheet-action-row,
  .marks-entry-button-grid,
  .enrollment-action-row,
  .admission-filter-actions,
  .fee-button-row {
    grid-template-columns: 1fr !important;
  }

  .content-area form .form-control,
  .content-area form .form-select,
  .content-area form textarea,
  .content-area form .btn {
    font-size: .95rem !important;
    min-height: 42px !important;
  }

  .content-area form .form-label,
  .content-area form label {
    font-size: .92rem !important;
  }
}

/* Very small phones */
@media (max-width: 360px) {
  .content-area form .form-control,
  .content-area form .form-select,
  .content-area form textarea,
  .content-area form .btn {
    font-size: .9rem !important;
  }
}


/* Portal My Courses and Units tables */
.content-area .card-header strong {
  letter-spacing: .01em;
}
.table .fw-semibold {
  font-weight: 700 !important;
}
@media (max-width: 767.98px) {
  .content-area .table-responsive table {
    font-size: .88rem;
  }
}

/* === Polished Skulitech online application form: two-column background layout === */
.application-background-page{
  --skulitech-red:#ed001c;
  --skulitech-red-rgb:237,0,28;
  --skulitech-blue:#083fa3;
  --skulitech-blue-dark:#062966;
  --skulitech-blue-rgb:8,63,163;
  position:relative;
  isolation:isolate;
  min-height:calc(100vh - 68px);
  overflow:hidden;
  background:#edf3ff;
  color:#13213d;
}
.application-background-page::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-3;
  background-image:
    linear-gradient(rgba(8,63,163,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(8,63,163,.04) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.55),transparent 88%);
}
.application-background-art{
  position:absolute;
  z-index:-2;
  inset:0;
  background-image:var(--application-bg-image);
  background-repeat:no-repeat;
  background-size:clamp(560px,56vw,930px) auto;
  background-position:right clamp(-110px,-4vw,-20px) top 30px;
  opacity:.54;
  filter:saturate(1.08) contrast(1.02);
  pointer-events:none;
}
.application-background-shade{
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    radial-gradient(circle at 89% 12%,rgba(255,255,255,.05) 0 17%,rgba(237,243,255,.5) 49%,rgba(237,243,255,.94) 76%),
    linear-gradient(120deg,rgba(6,41,102,.96) 0%,rgba(8,63,163,.90) 22%,rgba(235,242,255,.93) 53%,rgba(255,255,255,.80) 100%);
  pointer-events:none;
}
.application-page-container{
  width:min(1220px,calc(100% - 2rem));
  padding-top:clamp(1rem,2.4vw,2rem);
  padding-bottom:2rem;
}
.application-hero-panel{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:2rem;
  margin-bottom:1.35rem;
  padding:0 .25rem;
  color:#fff;
}
.application-hero-copy{max-width:700px;}
.application-portal-badge{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-bottom:.9rem;
  padding:.52rem .85rem;
  border:1px solid rgba(255,255,255,.22);
  border-radius:999px;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(9px);
  font-size:.82rem;
  font-weight:850;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.application-hero-copy h1{
  margin:0;
  max-width:680px;
  font-size:clamp(2.15rem,4.7vw,4.25rem);
  line-height:1.01;
  font-weight:950;
  letter-spacing:-.055em;
  text-shadow:0 .55rem 1.5rem rgba(3,20,53,.24);
}
.application-hero-copy p{
  margin:.9rem 0 0;
  max-width:670px;
  color:rgba(255,255,255,.84);
  font-size:1rem;
}
.required-mark{color:var(--skulitech-red);font-weight:900;}
.application-hero-copy .required-mark{color:#ffd4d9;}
.application-hero-features{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.55rem;
  min-width:205px;
  padding:1rem 1.1rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:1.1rem;
  background:rgba(6,41,102,.48);
  backdrop-filter:blur(12px);
  box-shadow:0 1rem 2rem rgba(3,20,53,.16);
}
.application-hero-features span{display:flex;align-items:center;gap:.6rem;font-weight:750;font-size:.9rem;color:rgba(255,255,255,.93);}
.application-hero-features i{color:#fff;font-size:1rem;}
.application-main-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.72);
  border-radius:1.6rem;
  background:rgba(255,255,255,.955);
  box-shadow:0 1.7rem 4.5rem rgba(4,27,71,.24),0 .35rem 1rem rgba(4,27,71,.08);
  backdrop-filter:blur(18px);
}
.application-main-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:var(--application-bg-image);
  background-repeat:no-repeat;
  background-position:right -95px center;
  background-size:540px auto;
  opacity:.038;
  pointer-events:none;
}
.application-main-card > *{position:relative;z-index:1;}
.application-card-accent{
  height:7px;
  background:linear-gradient(90deg,var(--skulitech-red) 0 34%,var(--skulitech-blue) 34% 100%);
}
.application-card-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem;
  padding:1.35rem clamp(1.25rem,3.4vw,2.75rem);
  border-bottom:1px solid rgba(15,35,71,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,250,255,.84));
}
.application-card-brand{display:flex;align-items:center;gap:1rem;min-width:0;}
.application-card-logo{
  width:68px;
  height:68px;
  flex:0 0 68px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid rgba(var(--skulitech-blue-rgb),.12);
  border-radius:1rem;
  background:#fff;
  box-shadow:0 .55rem 1.3rem rgba(8,63,163,.12);
}
.application-card-logo img{width:100%;height:100%;object-fit:contain;padding:.32rem;}
.application-card-logo i{font-size:1.75rem;color:var(--skulitech-blue);}
.application-card-institution{font-size:1.08rem;font-weight:950;color:#09275f;letter-spacing:-.015em;}
.application-card-motto{max-width:590px;color:#64748b;font-size:.86rem;line-height:1.45;}
.application-card-actions{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;justify-content:flex-end;}
.application-card-actions .btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;border-radius:.78rem;padding:.6rem .9rem;font-weight:800;font-size:.85rem;}
.application-secondary-btn{border:1px solid rgba(var(--skulitech-blue-rgb),.18);background:#fff;color:var(--skulitech-blue);}
.application-secondary-btn:hover,.application-secondary-btn:focus{background:#eff5ff;border-color:rgba(var(--skulitech-blue-rgb),.34);color:var(--skulitech-blue-dark);}
.application-login-btn{border:1px solid var(--skulitech-blue);background:var(--skulitech-blue);color:#fff;box-shadow:0 .45rem 1rem rgba(var(--skulitech-blue-rgb),.18);}
.application-login-btn:hover,.application-login-btn:focus{background:var(--skulitech-blue-dark);border-color:var(--skulitech-blue-dark);color:#fff;}
.application-title-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  padding:clamp(1.35rem,3vw,2.3rem) clamp(1.25rem,3.4vw,2.75rem) 1.1rem;
}
.application-step-label{display:inline-flex;padding:.35rem .66rem;border-radius:999px;background:rgba(var(--skulitech-red-rgb),.09);color:#c90018;font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;}
.application-title-row h2{margin:.62rem 0 .2rem;color:#0d2b65;font-weight:950;font-size:clamp(1.65rem,3vw,2.25rem);letter-spacing:-.035em;}
.application-title-row p{margin:0;color:#64748b;font-size:.94rem;}
.application-support-box{display:flex;align-items:center;gap:.75rem;min-width:265px;padding:.82rem .95rem;border:1px solid rgba(var(--skulitech-blue-rgb),.1);border-radius:1rem;background:#f5f8ff;}
.application-support-box > i{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:.75rem;background:rgba(var(--skulitech-blue-rgb),.10);color:var(--skulitech-blue);font-size:1.15rem;}
.application-support-box div{display:flex;flex-direction:column;line-height:1.35;min-width:0;}
.application-support-box strong{color:#173568;font-size:.84rem;}
.application-support-box span{color:#64748b;font-size:.78rem;overflow-wrap:anywhere;}
.application-alert{display:flex;align-items:flex-start;gap:.75rem;margin:0 clamp(1.25rem,3.4vw,2.75rem) 1.25rem;border-radius:1rem;padding:.95rem 1.05rem;}
.application-alert > i{font-size:1.15rem;margin-top:.05rem;}
.application-number{display:inline-flex;margin-left:.2rem;padding:.14rem .45rem;border-radius:.45rem;background:rgba(25,135,84,.12);font-weight:900;letter-spacing:.04em;}
.application-two-column-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1rem 1.15rem;
  padding:0 clamp(1.25rem,3.4vw,2.75rem) clamp(1.5rem,3.4vw,2.75rem);
}
.application-wide-field{grid-column:1 / -1;}
.application-section-heading{
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-top:.55rem;
  padding:.8rem 0 .65rem;
  border-bottom:1px solid rgba(15,35,71,.1);
}
.application-section-number{width:34px;height:34px;flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;border-radius:.72rem;background:linear-gradient(145deg,var(--skulitech-blue),var(--skulitech-blue-dark));color:#fff;font-weight:900;box-shadow:0 .4rem .9rem rgba(var(--skulitech-blue-rgb),.18);}
.application-section-heading div{display:flex;flex-direction:column;line-height:1.25;}
.application-section-heading strong{color:#173568;font-size:.95rem;}
.application-section-heading small{margin-top:.14rem;color:#7b879c;font-size:.77rem;}
.application-field{min-width:0;}
.application-field .form-label{display:block;margin-bottom:.4rem;color:#243b66;font-size:.84rem;font-weight:850;}
.application-input-wrap{position:relative;}
.application-input-wrap > i{
  position:absolute;
  z-index:3;
  left:.92rem;
  top:50%;
  transform:translateY(-50%);
  color:#7383a1;
  font-size:1rem;
  pointer-events:none;
}
.application-input-wrap .form-control,.application-input-wrap .form-select{
  min-height:50px;
  width:100%;
  padding:.65rem .9rem .65rem 2.65rem;
  border:1px solid #d7dfed;
  border-radius:.85rem;
  background:rgba(249,251,255,.92);
  color:#172c54;
  font-size:.92rem;
  box-shadow:inset 0 1px 2px rgba(16,38,75,.025);
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease;
}
.application-input-wrap .form-control::placeholder{color:#9aa7ba;}
.application-input-wrap .form-control:hover,.application-input-wrap .form-select:hover{border-color:#becbe0;background:#fff;}
.application-input-wrap .form-control:focus,.application-input-wrap .form-select:focus{
  border-color:rgba(var(--skulitech-blue-rgb),.62);
  background:#fff;
  box-shadow:0 0 0 .23rem rgba(var(--skulitech-blue-rgb),.11),0 .45rem 1rem rgba(var(--skulitech-blue-rgb),.05);
}
.application-input-wrap:focus-within > i{color:var(--skulitech-blue);}
.application-input-wrap .form-select:disabled{background-color:#eef2f8;color:#8b97aa;cursor:not-allowed;}
.application-textarea-wrap > i{top:1rem;transform:none;}
.application-input-wrap textarea.form-control{min-height:96px;resize:vertical;padding-top:.8rem;line-height:1.45;}
.application-input-wrap .is-invalid{border-color:#dc3545;}
.application-input-wrap .invalid-feedback{padding-left:.25rem;font-size:.78rem;}
.application-consent{display:flex;align-items:flex-start;gap:.65rem;margin-top:.35rem;padding:.82rem .95rem;border:1px solid rgba(var(--skulitech-blue-rgb),.1);border-radius:.9rem;background:rgba(239,245,255,.76);color:#5f6f88;font-size:.82rem;line-height:1.48;}
.application-consent i{color:var(--skulitech-blue);margin-top:.08rem;}
.application-submit-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.2rem;}
.application-submit-btn{
  min-height:52px;
  min-width:245px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.7rem;
  border:0;
  border-radius:.9rem;
  padding:.8rem 1.25rem;
  background:linear-gradient(135deg,var(--skulitech-red),#c80018);
  color:#fff;
  font-weight:900;
  box-shadow:0 .7rem 1.45rem rgba(var(--skulitech-red-rgb),.23);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.application-submit-btn:hover,.application-submit-btn:focus{color:#fff;transform:translateY(-1px);box-shadow:0 .9rem 1.8rem rgba(var(--skulitech-red-rgb),.3);filter:saturate(1.05);}
.application-submit-btn i{font-size:1.05rem;}
.application-track-link{color:var(--skulitech-blue);font-size:.84rem;font-weight:800;text-decoration:none;}
.application-track-link:hover{text-decoration:underline;color:var(--skulitech-blue-dark);}
.application-page-footer{display:flex;justify-content:space-between;gap:1rem;padding:1.15rem .35rem 0;color:rgba(255,255,255,.78);font-size:.78rem;}
.application-page-footer span{display:flex;align-items:center;gap:.4rem;}

@media (max-width:991.98px){
  .application-background-art{background-size:760px auto;background-position:right -220px top 55px;opacity:.40;}
  .application-background-shade{background:linear-gradient(145deg,rgba(6,41,102,.97) 0%,rgba(8,63,163,.9) 20%,rgba(235,242,255,.93) 55%,rgba(255,255,255,.88) 100%);}
  .application-page-container{width:min(100% - 1.25rem,920px);padding-top:1.25rem;}
  .application-hero-panel{align-items:flex-start;}
  .application-hero-features{display:none;}
  .application-title-row{align-items:flex-start;}
  .application-support-box{min-width:240px;}
}
@media (max-width:767.98px){
  .application-background-page{min-height:100vh;}
  .application-background-art{background-size:610px auto;background-position:center top 55px;opacity:.30;}
  .application-background-shade{background:linear-gradient(180deg,rgba(6,41,102,.97) 0 18rem,rgba(234,241,255,.94) 32rem,#eef3ff 100%);}
  .application-page-container{width:min(100% - 1rem,680px);padding-top:.85rem;padding-bottom:1rem;}
  .application-hero-panel{margin-bottom:1rem;}
  .application-hero-copy h1{font-size:2.25rem;letter-spacing:-.045em;}
  .application-main-card{border-radius:1.25rem;}
  .application-card-header,.application-title-row{padding-left:1rem;padding-right:1rem;}
  .application-card-header{align-items:flex-start;}
  .application-card-actions{width:100%;justify-content:flex-start;}
  .application-card-actions .btn{flex:1 1 auto;}
  .application-card-motto{display:none;}
  .application-card-logo{width:58px;height:58px;flex-basis:58px;}
  .application-title-row{display:block;}
  .application-support-box{margin-top:1rem;min-width:0;width:100%;}
  .application-alert{margin-left:1rem;margin-right:1rem;}
  .application-two-column-form{grid-template-columns:1fr;padding-left:1rem;padding-right:1rem;gap:.92rem;}
  .application-wide-field{grid-column:1;}
  .application-submit-row{align-items:stretch;flex-direction:column;}
  .application-submit-btn{width:100%;min-width:0;}
  .application-track-link{text-align:center;padding:.35rem;}
  .application-page-footer{flex-direction:column;align-items:center;text-align:center;gap:.35rem;}
}
@media (max-width:479.98px){
  .application-page-container{width:calc(100% - .65rem);}
  .application-portal-badge{font-size:.72rem;}
  .application-hero-copy h1{font-size:1.95rem;}
  .application-hero-copy p{font-size:.88rem;}
  .application-card-header{display:block;}
  .application-card-brand{margin-bottom:.85rem;}
  .application-card-actions{display:grid;grid-template-columns:1fr 1fr;}
  .application-card-actions .btn{padding:.55rem .45rem;font-size:.77rem;}
  .application-title-row h2{font-size:1.7rem;}
  .application-section-heading small{font-size:.72rem;}
}
@media (prefers-reduced-motion:reduce){
  .application-background-page *{scroll-behavior:auto!important;transition:none!important;}
}

/* === Sidebar visibility and navigation usability upgrade === */
#sidekickMenu.sidebar-full-menu{
  display:flex!important;
  flex-direction:column!important;
  height:100dvh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  padding-bottom:.65rem!important;
}
#sidekickMenu.sidebar-full-menu > .sidebar-mobile-tools,
#sidekickMenu.sidebar-full-menu > .brand-card,
#sidekickMenu.sidebar-full-menu > .sidebar-search-wrap,
#sidekickMenu.sidebar-full-menu > .sidebar-section-label{
  flex:0 0 auto!important;
}
#sidekickMenu.sidebar-full-menu > .brand-card{
  margin-bottom:.75rem!important;
}
#sidekickMenu.sidebar-full-menu > .sidebar-search-wrap{
  margin-bottom:.65rem!important;
}
#sidekickMenu.sidebar-full-menu > .sidebar-nav{
  flex:1 1 auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  padding:.2rem .35rem calc(1rem + env(safe-area-inset-bottom)) .1rem!important;
  margin-right:-.25rem;
  gap:.45rem!important;
  scroll-behavior:smooth;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(255,255,255,.42) rgba(255,255,255,.07)!important;
  overscroll-behavior-y:contain;
}
#sidekickMenu.sidebar-full-menu > .sidebar-nav::-webkit-scrollbar{
  display:block!important;
  width:8px!important;
  height:8px!important;
}
#sidekickMenu.sidebar-full-menu > .sidebar-nav::-webkit-scrollbar-track{
  background:rgba(255,255,255,.06);
  border-radius:999px;
}
#sidekickMenu.sidebar-full-menu > .sidebar-nav::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.38);
  border:2px solid transparent;
  background-clip:padding-box;
  border-radius:999px;
}
#sidekickMenu.sidebar-full-menu > .sidebar-nav::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,.58);
  border:2px solid transparent;
  background-clip:padding-box;
}
#sidekickMenu .sidebar-link,
#sidekickMenu .sidebar-group-toggle{
  min-height:46px;
  padding:.65rem .75rem;
}
#sidekickMenu .sidebar-sublink{
  min-height:42px;
  padding:.58rem .7rem;
}
#sidekickMenu .sidebar-group{
  margin-bottom:0!important;
}
#sidekickMenu .sidebar-section-label{
  margin-bottom:.3rem;
}
#sidekickMenu .sidebar-link:focus-visible,
#sidekickMenu .sidebar-group-toggle:focus-visible,
#sidekickMenu .sidebar-sublink:focus-visible,
#sidekickMenu .sidebar-menu-search .form-control:focus{
  outline:2px solid rgba(255,255,255,.82)!important;
  outline-offset:2px;
}
#sidekickMenu .active-group > .sidebar-group-toggle{
  position:relative;
}
#sidekickMenu .active-group > .sidebar-group-toggle::after{
  content:"";
  position:absolute;
  left:0;
  top:25%;
  bottom:25%;
  width:3px;
  border-radius:999px;
  background:var(--theme-accent);
}
@media (min-width:992px){
  #sidekickMenu.sidebar-full-menu{
    position:sticky!important;
    top:0!important;
  }
}
@media (max-width:991.98px){
  #sidekickMenu.sidebar-full-menu{
    height:100dvh!important;
    max-height:100dvh!important;
    padding-bottom:calc(.55rem + env(safe-area-inset-bottom))!important;
  }
  #sidekickMenu.sidebar-full-menu > .sidebar-nav{
    padding-bottom:calc(1.25rem + env(safe-area-inset-bottom))!important;
  }
}
@media (max-height:700px){
  #sidekickMenu.sidebar-full-menu{
    padding-top:.65rem!important;
  }
  #sidekickMenu.sidebar-full-menu > .brand-card{
    padding:.65rem!important;
    margin-bottom:.5rem!important;
  }
  #sidekickMenu.sidebar-full-menu > .sidebar-search-wrap{
    margin-bottom:.45rem!important;
  }
  #sidekickMenu .sidebar-link,
  #sidekickMenu .sidebar-group-toggle{
    min-height:42px;
    padding:.55rem .65rem;
  }
  #sidekickMenu .sidebar-sublink{
    min-height:39px;
    padding:.5rem .62rem;
  }
}

/* === Always-visible, easy-to-scroll application menu === */
#sidekickMenu.sidebar-full-menu{
  min-height:100vh!important;
  min-height:100dvh!important;
  height:100vh!important;
  height:100dvh!important;
  max-height:100vh!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  isolation:isolate;
}
#sidekickMenu .sidebar-menu-count{
  flex:0 0 auto;
  padding:.15rem .45rem;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:rgba(255,255,255,.86)!important;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:none;
}
#sidekickMenu .sidebar-scroll-hint{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.38rem;
  margin:0 .1rem .38rem;
  padding:.34rem .55rem;
  border:1px solid rgba(255,255,255,.13);
  border-radius:.72rem;
  background:rgba(255,255,255,.07);
  color:rgba(255,255,255,.82)!important;
  font-size:.72rem;
  font-weight:700;
  line-height:1.15;
  transition:opacity .18s ease, transform .18s ease;
}
#sidekickMenu .sidebar-scroll-hint.is-complete{
  opacity:.58;
}
#sidekickMenu .sidebar-scroll-hint .bi-chevron-double-down{
  animation:sidebar-scroll-cue 1.5s ease-in-out infinite;
}
@keyframes sidebar-scroll-cue{
  0%,100%{transform:translateY(-1px);opacity:.55}
  50%{transform:translateY(2px);opacity:1}
}
#sidekickMenu.sidebar-full-menu > .sidebar-nav{
  flex:1 1 0!important;
  min-height:140px!important;
  width:100%!important;
  overflow-y:scroll!important;
  overflow-x:hidden!important;
  padding:.15rem .5rem 1rem .08rem!important;
  margin:0!important;
  scrollbar-gutter:stable;
  scrollbar-width:auto!important;
  scrollbar-color:rgba(255,255,255,.78) rgba(255,255,255,.12)!important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
}
#sidekickMenu.sidebar-full-menu > .sidebar-nav::-webkit-scrollbar{
  display:block!important;
  width:12px!important;
}
#sidekickMenu.sidebar-full-menu > .sidebar-nav::-webkit-scrollbar-track{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px!important;
}
#sidekickMenu.sidebar-full-menu > .sidebar-nav::-webkit-scrollbar-thumb{
  min-height:44px;
  background:rgba(255,255,255,.72)!important;
  border:3px solid transparent!important;
  background-clip:padding-box!important;
  border-radius:999px!important;
}
#sidekickMenu.sidebar-full-menu > .sidebar-nav::-webkit-scrollbar-thumb:hover{
  background:rgba(255,255,255,.95)!important;
  border:3px solid transparent!important;
  background-clip:padding-box!important;
}
#sidekickMenu.sidebar-full-menu > .sidebar-nav:focus-visible{
  outline:2px solid rgba(255,255,255,.86)!important;
  outline-offset:-2px;
  border-radius:.9rem;
}
#sidekickMenu .sidebar-link,
#sidekickMenu .sidebar-group-toggle{
  min-height:43px!important;
  padding:.56rem .65rem!important;
}
#sidekickMenu .sidebar-sublink{
  min-height:39px!important;
  padding:.49rem .62rem!important;
}
#sidekickMenu .sidebar-link,
#sidekickMenu .sidebar-group{
  scroll-margin-block:.4rem;
}
#sidekickMenu .sidebar-scroll-tools{
  flex:0 0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:.42rem;
  margin:.45rem .05rem 0;
  padding-top:.45rem;
  border-top:1px solid rgba(255,255,255,.12);
}
#sidekickMenu .sidebar-scroll-btn{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  padding:.35rem .55rem;
  border:1px solid rgba(255,255,255,.18);
  border-radius:.72rem;
  background:rgba(255,255,255,.10);
  color:#fff!important;
  font-size:.74rem;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  transition:background .16s ease, transform .16s ease, opacity .16s ease;
}
#sidekickMenu .sidebar-scroll-btn:hover:not(:disabled),
#sidekickMenu .sidebar-scroll-btn:focus-visible:not(:disabled){
  background:rgba(255,255,255,.20);
  transform:translateY(-1px);
}
#sidekickMenu .sidebar-scroll-btn:focus-visible{
  outline:2px solid rgba(255,255,255,.9);
  outline-offset:2px;
}
#sidekickMenu .sidebar-scroll-btn:disabled{
  opacity:.35;
  cursor:default;
}
#sidekickMenu .sidebar-scroll-status{
  min-width:3.4rem;
  text-align:center;
  color:rgba(255,255,255,.72)!important;
  font-size:.67rem;
  font-weight:800;
  white-space:nowrap;
}
@media (min-width:992px){
  .layout-shell > #sidekickMenu.sidebar-full-menu{
    position:sticky!important;
    top:0!important;
    align-self:flex-start!important;
  }
}
@media (max-width:991.98px){
  #sidekickMenu.sidebar-full-menu{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    left:0!important;
  }
  #sidekickMenu .sidebar-scroll-hint{font-size:.7rem}
  #sidekickMenu .sidebar-scroll-tools{padding-bottom:env(safe-area-inset-bottom)}
}
@media (max-height:620px){
  #sidekickMenu .brand-card{display:none!important}
  #sidekickMenu .sidebar-scroll-hint{display:none!important}
  #sidekickMenu .sidebar-search-wrap{margin-bottom:.35rem!important}
  #sidekickMenu .sidebar-section-label{margin-top:0!important}
}
@media (prefers-reduced-motion:reduce){
  #sidekickMenu .sidebar-scroll-hint .bi-chevron-double-down{animation:none}
  #sidekickMenu.sidebar-full-menu > .sidebar-nav{scroll-behavior:auto!important}
}

/* === Definitive sidebar scrolling fix: prevent Bootstrap .nav from wrapping into hidden columns === */
#sidekickMenu.sidebar-full-menu > #sidebarNavList,
#sidekickMenu.sidebar-full-menu > .sidebar-nav{
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  align-content:stretch!important;
  justify-content:flex-start!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
#sidekickMenu.sidebar-full-menu > #sidebarNavList > *,
#sidekickMenu.sidebar-full-menu > .sidebar-nav > *{
  flex:0 0 auto!important;
  width:100%!important;
  max-width:100%!important;
}
