: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;
}
