
/* TNPFurniture v2.1 — nhận diện navy/vàng kim/trắng ngà từ logo 3D gốc; sidebar GPU-only. */
:root{
  color-scheme:light;
  --tnp-navy:#0e2b4a;--tnp-navy-deep:#071b31;--tnp-navy-mid:#173f68;--tnp-navy-soft:#e8eef4;
  --tnp-gold:#c99a4c;--tnp-gold-light:#e3bc70;--tnp-gold-deep:#9b6d2c;
  --tnp-ivory:#f3eee7;--tnp-paper:#fffdf9;
  --ep-ink:#162a3d;--ep-brown:#173f68;--ep-brown-deep:#0e2b4a;
  --ep-gold:var(--tnp-gold);--ep-gold-dark:var(--tnp-gold-deep);--ep-gold-light:var(--tnp-gold-light);
  --ep-cream:#fffdf9;--ep-cream-2:#f3eee7;
  --ep-line:rgba(14,43,74,.16);--ep-panel:rgba(255,253,249,.94);--ep-panel-strong:#fffdf9;
  --ep-muted:#6f7883;--ep-text:#162a3d;--ep-shadow:0 16px 38px rgba(7,27,49,.10);
}
html.dark,body.dark-mode{
  color-scheme:dark;
  --ep-ink:#f7f1e8;--ep-brown:#e3bc70;--ep-brown-deep:#f0d39c;
  --ep-line:rgba(227,188,112,.20);--ep-panel:rgba(13,35,57,.95);--ep-panel-strong:#0d2339;
  --ep-muted:#aab7c6;--ep-text:#f7f1e8;--ep-shadow:0 18px 42px rgba(0,0,0,.30);
}
body{background:var(--tnp-ivory)!important;color:var(--ep-text)!important}
body.dark-mode{background:#061321!important;color:var(--ep-text)!important}
body:not(.dark-mode) .icloud-bg{background:linear-gradient(145deg,#fffdf9 0%,#f3eee7 58%,#eadcc5 100%)!important;filter:blur(52px) saturate(.92)!important}
body.dark-mode .icloud-bg{background:linear-gradient(145deg,#061321 0%,#081a2b 55%,#102942 100%)!important;filter:blur(48px) saturate(.92)!important}

/* Logo được hiển thị trực tiếp từ ảnh PNG gốc, không cắt, không đổi màu. */
.ep-primary-logo,#auth-logo,#nav-logo,.brand-login-logo,.brand-nav-logo,.ep-gate-brand-v27 img{
  object-fit:contain!important;object-position:center!important;background:#f3eee7!important;
  filter:none!important;mix-blend-mode:normal!important;
}
.brand-login-logo{padding:0!important;border:1px solid rgba(155,109,44,.30)!important;outline:none!important;border-radius:28px!important;box-shadow:0 20px 46px rgba(7,27,49,.18)!important}
.brand-nav-logo{padding:0!important;border-color:rgba(155,109,44,.26)!important;border-radius:14px!important;box-shadow:0 7px 18px rgba(7,27,49,.13)!important}
.ep-brand-button{padding:0!important;overflow:hidden!important;background:#f3eee7!important;box-shadow:0 7px 18px rgba(7,27,49,.28),inset 0 0 0 1px rgba(227,188,112,.24)!important}
.ep-primary-logo{width:100%!important;height:100%!important;border-radius:inherit!important}
#auth-title,#nav-company-title{color:var(--tnp-navy)!important;text-shadow:none!important}
.dark-mode :is(#auth-title,#nav-company-title){color:#f0d39c!important}
.brand-auth-subtitle,.brand-nav-caption{color:rgba(23,63,104,.76)!important}
.dark-mode :is(.brand-auth-subtitle,.brand-nav-caption){color:rgba(227,188,112,.78)!important}

/* Khung ứng dụng và điều hướng. */
.ep-primary-sidebar{background:linear-gradient(180deg,#0e2b4a 0%,#0a223b 58%,#061522 100%)!important;border-right-color:rgba(227,188,112,.23)!important;box-shadow:8px 0 24px rgba(7,27,49,.25)!important}
.ep-primary-item{color:#d8e2eb!important}.ep-primary-item:hover{background:rgba(227,188,112,.12)!important;color:#fff!important}
.ep-primary-item.active,.ep-secondary-item.is-active .ep-secondary-icon,.ep-user-avatar{background:linear-gradient(145deg,var(--tnp-gold-deep),var(--tnp-gold-light))!important;color:#071b31!important;box-shadow:0 5px 14px rgba(7,27,49,.22)!important}
.ep-secondary-sidebar,.ep-topbar,#main-header{background:var(--ep-panel-strong)!important;border-color:var(--ep-line)!important;box-shadow:0 8px 24px rgba(7,27,49,.07)!important}
.brand-nav-wrap{background:var(--ep-panel)!important;border-color:rgba(155,109,44,.22)!important;box-shadow:0 8px 24px rgba(7,27,49,.08)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.ep-secondary-group-icon,.ep-secondary-item .ep-secondary-icon,.ep-stat-icon{background:rgba(14,43,74,.10)!important;color:var(--tnp-navy-mid)!important}
.dark-mode :is(.ep-secondary-group-icon,.ep-secondary-item .ep-secondary-icon,.ep-stat-icon){background:rgba(227,188,112,.12)!important;color:var(--tnp-gold-light)!important}
.ep-secondary-item:hover,.ep-topbar-icon:hover{background:rgba(14,43,74,.07)!important}
.dark-mode :is(.ep-secondary-item:hover,.ep-topbar-icon:hover){background:rgba(227,188,112,.08)!important}
.ep-secondary-item.is-active{background:linear-gradient(90deg,rgba(14,43,74,.14),rgba(201,154,76,.13))!important;color:var(--tnp-navy)!important}
.dark-mode .ep-secondary-item.is-active{background:linear-gradient(90deg,rgba(227,188,112,.16),rgba(201,154,76,.08))!important;color:#f0d39c!important}

/* Màu nền, thẻ, bảng và biểu mẫu dùng chung ở mọi phân hệ. */
:is(.glass-panel,.account-card,.permission-account-card-v31,.ops-kpi,.ops-table-wrap,.backup-card,.ep-panel,.ep-list-card,.modal-card,.archive-card-v198,.excel-center-card-v198,.attendance-summary-card,.timepay-formula-card,.linked-roster-toolbar-v195){
  background:var(--ep-panel)!important;border-color:var(--ep-line)!important;color:var(--ep-text)!important;box-shadow:var(--ep-shadow)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
:is(.ep-stat-card,.account-meta-v31,.permission-toggle-row,.role-badge,.fact){background:rgba(14,43,74,.055)!important;border-color:rgba(14,43,74,.12)!important;color:var(--ep-text)!important}
.dark-mode :is(.ep-stat-card,.account-meta-v31,.permission-toggle-row,.role-badge,.fact){background:rgba(227,188,112,.07)!important;border-color:rgba(227,188,112,.15)!important}
:is(.ep-eyebrow,.ops-kpi-value,.audit-category,.payroll-money,.permission-section-v31>strong,.excel-center-card-v198 i){color:var(--tnp-navy-mid)!important}
.dark-mode :is(.ep-eyebrow,.ops-kpi-value,.audit-category,.payroll-money,.permission-section-v31>strong,.excel-center-card-v198 i){color:var(--tnp-gold-light)!important}
:is(.apple-input,.ops-input,.ops-number-input,.ops-note-input,.ep-topbar-search input){background:var(--ep-panel-strong)!important;border-color:var(--ep-line)!important;color:var(--ep-text)!important}
:is(.apple-input,.ops-input,.ops-number-input,.ops-note-input,.ep-topbar-search input):focus{border-color:rgba(201,154,76,.78)!important;box-shadow:0 0 0 3px rgba(201,154,76,.16)!important}
.ops-table th,.ep-table-scroll th,.pp-table-scroll th{background:rgba(14,43,74,.08)!important;color:var(--tnp-navy)!important;border-color:var(--ep-line)!important}
.dark-mode :is(.ops-table th,.ep-table-scroll th,.pp-table-scroll th){background:rgba(227,188,112,.10)!important;color:#f0d39c!important}
.ops-table td,.ep-table-scroll td,.pp-table-scroll td{border-color:var(--ep-line)!important}

/* Nút thương hiệu: navy cho hành động chính, vàng kim cho điểm nhấn. */
.ops-button-primary,.ep-contract-profile-actions-v30 .save,.ep-gate-primary-v27,.apple-input:valid+.apple-btn-arrow{background:linear-gradient(135deg,var(--tnp-navy),var(--tnp-navy-mid))!important;border-color:transparent!important;color:#fff!important}
.ops-button-primary:hover,.ep-gate-primary-v27:hover{background:linear-gradient(135deg,var(--tnp-navy-deep),var(--tnp-navy))!important;box-shadow:0 7px 18px rgba(7,27,49,.20)!important}
.ios-switch:checked{background:linear-gradient(135deg,var(--tnp-gold-deep),var(--tnp-gold))!important}
.ui-id,.role-badge{color:var(--tnp-gold-deep)!important}.dark-mode :is(.ui-id,.role-badge){color:var(--tnp-gold-light)!important}
.ui-marker-badge{background:rgba(155,109,44,.97)!important}.excel-center-card-v198:hover:not(:disabled){border-color:var(--tnp-gold)!important;box-shadow:0 5px 16px rgba(7,27,49,.12)!important}
#ep-sidebar-hotzone-v202::after{background:rgba(201,154,76,.44)!important}
body.ep-sidebar-collapsed #ep-sidebar-hotzone-v202::after{background:linear-gradient(180deg,var(--tnp-gold-light),var(--tnp-gold-deep))!important}
::-webkit-scrollbar-track{background:rgba(14,43,74,.07)!important}
::-webkit-scrollbar-thumb{background:rgba(23,63,104,.48)!important}
.dark-mode ::-webkit-scrollbar-track{background:rgba(227,188,112,.06)!important}
.dark-mode ::-webkit-scrollbar-thumb{background:rgba(227,188,112,.36)!important}

/* Chấm công và bảo hiểm dùng cùng hệ màu với toàn ứng dụng. */
#screen-attendance{
  --att-bg:#f3eee7;--att-bg-2:#fffdf9;--att-panel:#fffdf9;--att-panel-alt:#f7f3ed;
  --att-panel-strong:#e8eef4;--att-input:#fffdf9;--att-hover:#edf1f5;--att-line:rgba(14,43,74,.17);--att-text:#162a3d;
  background-color:#f3eee7!important;background-image:linear-gradient(145deg,#fffdf9 0%,#f3eee7 60%,#eadcc5 100%)!important;border-color:var(--att-line)!important;
}
.dark-mode #screen-attendance{
  --att-bg:#061321;--att-bg-2:#081a2b;--att-panel:#0d2339;--att-panel-alt:#102942;
  --att-panel-strong:#173f68;--att-input:#0b2035;--att-hover:#133451;--att-line:rgba(227,188,112,.20);--att-text:#f7f1e8;
  background-color:#061321!important;background-image:linear-gradient(145deg,#061321 0%,#081a2b 58%,#102942 100%)!important;
}
#screen-attendance .ops-table th,#screen-attendance .ops-table thead .tp-sticky{background:var(--tnp-navy)!important;color:#fff!important}
.dark-mode #screen-attendance .ops-table th,.dark-mode #screen-attendance .ops-table thead .tp-sticky{background:#173f68!important;color:#f7f1e8!important}
#screen-attendance .ops-button{background:var(--att-panel)!important;color:var(--tnp-navy)!important;border-color:var(--att-line)!important}
.dark-mode #screen-attendance .ops-button{color:var(--tnp-gold-light)!important}
#screen-attendance .ops-button-primary{background:linear-gradient(135deg,var(--tnp-navy),var(--tnp-navy-mid))!important;color:#fff!important}
#screen-insurance{--ins-panel:#fffdf9;--ins-panel-alt:#f7f3ed;--ins-line:rgba(14,43,74,.17);--ins-text:#162a3d;--ins-input:#fffdf9;--ins-head:#0e2b4a}
.dark-mode #screen-insurance{--ins-panel:#0d2339;--ins-panel-alt:#102942;--ins-line:rgba(227,188,112,.20);--ins-text:#f7f1e8;--ins-input:#0b2035;--ins-head:#173f68}

@media (min-width:901px){
  body,body.ep-sidebar-collapsed{--ep-shell-left:var(--ep-primary-w)!important}
  .ep-primary-sidebar{transform:none!important;transition:none!important;contain:layout paint style}
  .ep-secondary-sidebar{
    left:var(--ep-primary-w)!important;transform:translate3d(0,0,0);
    transition:transform .15s cubic-bezier(.2,.8,.2,1)!important;
    will-change:transform;contain:layout paint style;backface-visibility:hidden;
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  }
  body.ep-sidebar-collapsed .ep-secondary-sidebar{transform:translate3d(-100%,0,0)!important}
  .ep-topbar{left:var(--ep-primary-w)!important;transition:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .ep-main-content{margin-left:var(--ep-primary-w)!important;transition:none!important}
  #ep-sidebar-hotzone-v202{display:none!important}
}
@media (prefers-reduced-motion:reduce){.ep-secondary-sidebar{transition:none!important}}
    