:root{--ifv-orange:#f36d21;--ifv-bg:#f5f7fb;--ifv-text:#172033;--ifv-muted:#6b7280;--ifv-border:#e6e9ef}.ifv-suite-app{display:flex;min-height:100vh;background:var(--ifv-bg);font-family:Roboto,Arial,sans-serif;color:var(--ifv-text)}.ifv-suite-sidebar{width:245px;background:#111827;color:#fff;padding:24px 14px;display:flex;flex-direction:column;box-sizing:border-box}.ifv-suite-brand{padding:0 10px 25px}.ifv-suite-brand b{display:block;color:var(--ifv-orange);font-size:19px;letter-spacing:.8px}.ifv-suite-brand span{font-size:13px;color:#cbd5e1}.ifv-suite-nav-group{margin:7px 0 15px}.ifv-suite-nav-group small{display:block;color:#6b7280;font-size:10px;font-weight:700;letter-spacing:1.2px;padding:0 11px 7px}.ifv-suite-nav-group a{display:flex;gap:10px;align-items:center;color:#cbd5e1;text-decoration:none;padding:10px 11px;border-radius:9px;font-size:13px;margin:2px 0}.ifv-suite-nav-group a:hover,.ifv-suite-nav-group a.active{background:#1f2937;color:#fff}.ifv-suite-nav-group i{width:20px;text-align:center;font-style:normal}.ifv-suite-sidebar-foot{margin-top:auto;border-top:1px solid #263244;padding:15px 10px 0}.ifv-suite-sidebar-foot a{color:#9ca3af;text-decoration:none;font-size:12px}.ifv-suite-main{flex:1;padding:34px 38px;box-sizing:border-box;max-width:1500px}.ifv-suite-topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.ifv-suite-eyebrow{font-size:10px;letter-spacing:1.4px;color:var(--ifv-orange);font-weight:800}.ifv-suite-topbar h1{margin:5px 0 3px;font-size:28px}.ifv-suite-topbar p{margin:0;color:var(--ifv-muted);font-size:13px}.ifv-suite-avatar{width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--ifv-border);display:grid;place-items:center;font-size:20px;font-weight:800}.ifv-suite-metrics{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:18px}.ifv-suite-metrics>div,.ifv-suite-panel,.ifv-suite-profile{background:#fff;border:1px solid var(--ifv-border);border-radius:14px}.ifv-suite-metrics>div{padding:17px 18px}.ifv-suite-metrics span{font-size:12px;color:var(--ifv-muted)}.ifv-suite-metrics strong{display:block;font-size:25px;margin:4px 0}.ifv-suite-metrics em{font-size:11px;color:#9ca3af;font-style:normal}.ifv-suite-panel{padding:22px;margin-bottom:18px}.ifv-suite-panel-head h2{font-size:18px;margin:0 0 3px}.ifv-suite-panel-head p{font-size:12px;color:var(--ifv-muted);margin:0 0 16px}.ifv-suite-launcher{display:grid;grid-template-columns:repeat(3,minmax(190px,1fr));gap:10px}.ifv-suite-launcher a{display:flex;align-items:center;gap:12px;border:1px solid var(--ifv-border);border-radius:11px;padding:14px;text-decoration:none;color:var(--ifv-text);background:#fff}.ifv-suite-launcher a:hover{border-color:#f7b184;box-shadow:0 5px 18px rgba(17,24,39,.06)}.ifv-suite-launcher a>span{width:36px;height:36px;border-radius:9px;background:#fff3eb;color:var(--ifv-orange);display:grid;place-items:center}.ifv-suite-launcher a div{flex:1}.ifv-suite-launcher b{display:block;font-size:13px}.ifv-suite-launcher small{color:var(--ifv-muted);font-size:10px}.ifv-suite-launcher em{font-style:normal;color:#9ca3af}.ifv-suite-profile{padding:18px 22px;display:grid;grid-template-columns:1.4fr repeat(4,1fr);align-items:center;gap:14px}.ifv-suite-profile h3{font-size:14px;margin:0}.ifv-suite-profile label{display:block;font-size:10px;color:var(--ifv-muted);margin-bottom:3px}.ifv-suite-profile b{font-size:11px}.ifv-suite-login,.ifv-suite-denied{max-width:520px;margin:60px auto;padding:30px;background:#fff;border:1px solid var(--ifv-border);border-radius:14px}@media(max-width:900px){.ifv-suite-sidebar{width:72px}.ifv-suite-brand span,.ifv-suite-nav-group small,.ifv-suite-nav-group a:not(.active){font-size:0}.ifv-suite-nav-group a{justify-content:center}.ifv-suite-main{padding:22px 16px}.ifv-suite-metrics{grid-template-columns:repeat(2,1fr)}.ifv-suite-launcher{grid-template-columns:1fr 1fr}.ifv-suite-profile{grid-template-columns:1fr 1fr}}@media(max-width:600px){.ifv-suite-sidebar{display:none}.ifv-suite-metrics,.ifv-suite-launcher,.ifv-suite-profile{grid-template-columns:1fr}.ifv-suite-main{padding:18px 12px}.ifv-suite-topbar h1{font-size:22px}}
.ifv-suite-activity-filter{display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--ifv-border);padding:12px;border-radius:12px;margin:14px 0}.ifv-suite-activity-filter select,.ifv-suite-activity-filter input{height:36px;border:1px solid var(--ifv-border);border-radius:8px;padding:0 10px;background:#fff}.ifv-suite-activity-filter button{height:36px;border:0;border-radius:8px;padding:0 14px;background:var(--ifv-orange);color:#fff;font-weight:700}.ifv-suite-activity-filter a{font-size:12px;color:var(--ifv-muted);text-decoration:none}.ifv-suite-activity-timeline{display:grid;gap:10px}.ifv-suite-activity-item{display:grid;grid-template-columns:130px 1fr;gap:14px;background:#fff;border:1px solid var(--ifv-border);border-radius:12px;padding:14px}.ifv-suite-activity-time{font-size:11px;color:var(--ifv-muted);padding-top:2px}.ifv-suite-activity-body>div:first-child{display:flex;gap:10px;align-items:center}.ifv-suite-activity-body b{font-size:13px}.ifv-suite-activity-body>div:first-child span{font-size:11px;color:var(--ifv-muted)}.ifv-suite-activity-entity{display:inline-block;margin:6px 0;color:var(--ifv-orange);font-size:12px;text-decoration:none;font-weight:700}.ifv-suite-activity-body details{margin-top:5px}.ifv-suite-activity-body summary{cursor:pointer;font-size:11px;color:var(--ifv-muted)}.ifv-suite-activity-change{display:grid;grid-template-columns:150px 1fr 22px 1fr;gap:8px;align-items:center;margin-top:8px;background:#f8fafc;padding:9px;border-radius:8px;font-size:11px}.ifv-suite-activity-change em{text-align:center;font-style:normal;color:var(--ifv-muted)}.ifv-suite-activity-empty{background:#fff;border:1px solid var(--ifv-border);padding:20px;border-radius:12px;color:var(--ifv-muted)}@media(max-width:700px){.ifv-suite-activity-item{grid-template-columns:1fr}.ifv-suite-activity-change{grid-template-columns:1fr}.ifv-suite-activity-change em{text-align:left}}
/* v7 Unified Approval + Notification */
.ifv-suite-page{max-width:1180px;margin:0 auto;padding:24px}.ifv-suite-page-head{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:22px}.ifv-suite-page-head h2{margin:0 0 4px}.ifv-suite-page-head p{margin:0;color:#667085}.ifv-suite-btn,.ifv-suite-submit-approval button,.ifv-suite-approval button{display:inline-block;border:0;border-radius:8px;padding:9px 13px;background:#111827;color:#fff;text-decoration:none;cursor:pointer}.ifv-suite-inbox,.ifv-suite-approval-list{display:grid;gap:10px}.ifv-suite-notice,.ifv-suite-approval{display:flex;justify-content:space-between;gap:16px;align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:14px 16px}.ifv-suite-notice.is-unread{border-left:4px solid #111827}.ifv-suite-notice.is-read{opacity:.72}.ifv-suite-notice-actions{display:flex;gap:10px}.ifv-suite-approval form{display:flex;gap:8px;align-items:center}.ifv-suite-approval input,.ifv-suite-submit-approval input{border:1px solid #d0d5dd;border-radius:8px;padding:9px 10px}.ifv-suite-submit-approval{display:flex;gap:8px;flex-wrap:wrap;background:#fff;border:1px solid #e5e7eb;padding:14px;border-radius:12px}.ifv-suite-empty{padding:18px;background:#f8fafc;border-radius:10px;color:#667085}@media(max-width:760px){.ifv-suite-notice,.ifv-suite-approval,.ifv-suite-page-head{align-items:flex-start;flex-direction:column}.ifv-suite-approval form{flex-wrap:wrap}}
/* v8 Workflow Enforcement + Action Center */
.ifv-suite-action-kpis{display:flex;gap:8px;flex-wrap:wrap}.ifv-suite-action-kpis span{background:#fff;border:1px solid var(--ifv-border);padding:8px 11px;border-radius:9px;font-size:11px;color:var(--ifv-muted)}.ifv-suite-action-kpis b{color:var(--ifv-text);font-size:16px;margin-right:4px}.ifv-suite-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ifv-suite-action-grid section{background:#fff;border:1px solid var(--ifv-border);border-radius:14px;padding:16px}.ifv-suite-action-grid h3{margin:0 0 12px;font-size:15px}.ifv-suite-action-card{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid #eef1f5}.ifv-suite-action-card:first-of-type{border-top:0}.ifv-suite-action-card div{min-width:0}.ifv-suite-action-card small{display:block;font-size:9px;color:var(--ifv-orange);font-weight:800;letter-spacing:.8px}.ifv-suite-action-card strong{display:block;font-size:13px;margin:3px 0}.ifv-suite-action-card span{display:block;font-size:11px;color:var(--ifv-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:420px}.ifv-suite-action-card>a{flex:0 0 auto;font-size:11px;font-weight:700;color:var(--ifv-orange);text-decoration:none}.ifv-suite-action-links{display:flex;gap:8px;margin-top:16px}@media(max-width:800px){.ifv-suite-action-grid{grid-template-columns:1fr}.ifv-suite-action-card span{max-width:240px}}

/* v10 SLA + Unified Work Queue */
.ifv-suite-priority{display:inline-block!important;width:auto!important;white-space:nowrap}.ifv-suite-priority.is-normal{color:#667085}.ifv-suite-priority.is-high{color:#b54708}.ifv-suite-priority.is-critical{color:#b42318}.ifv-suite-action-card.is-overdue,.ifv-suite-approval.is-overdue{border-left:4px solid #d92d20;background:#fff8f7}.ifv-suite-action-kpis .is-danger b{color:#b42318}.ifv-suite-approval>div>small{margin-bottom:4px}.ifv-suite-approval.is-overdue b{color:#b42318}


.ifv-suite-dashboard{font-family:Roboto,Arial,sans-serif;color:var(--ifv-text);max-width:1500px;margin:0 auto;padding:28px 24px 36px}
.ifv-suite-metrics>div>a{display:block;color:inherit;text-decoration:none;margin:-17px -18px;padding:17px 18px;border-radius:14px}
.ifv-suite-metrics>div>a:hover{box-shadow:0 5px 18px rgba(17,24,39,.06);outline:1px solid #f7b184}
.ifv-suite-shell-active .ifv-suite-app{min-height:auto;display:block;background:transparent}
@media(max-width:900px){.ifv-suite-dashboard{padding:18px 12px}}
\n/* v12.1.1 dedicated ERP front-page login */
.ifv-suite-login-screen{min-height:100vh;display:grid;grid-template-columns:minmax(320px,1.05fr) minmax(360px,.95fr);background:#f5f7fa;font-family:Roboto,Arial,sans-serif}
.ifv-suite-login-brand{background:#111827;color:#fff;padding:clamp(42px,7vw,100px);display:flex;flex-direction:column;justify-content:center}
.ifv-suite-login-brand span{color:var(--ifv-orange,#f36d21);font-size:15px;font-weight:900;letter-spacing:2px}
.ifv-suite-login-brand strong{font-size:clamp(34px,5vw,64px);line-height:1.05;margin:10px 0 14px}.ifv-suite-login-brand p{color:#cbd5e1;font-size:14px;letter-spacing:.5px}
.ifv-suite-login-card{align-self:center;justify-self:center;width:min(430px,calc(100% - 40px));background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:34px;box-shadow:0 18px 50px rgba(17,24,39,.08)}
.ifv-suite-login-card h2{margin:0 0 6px;font-size:25px}.ifv-suite-login-card>p{margin:0 0 24px;color:#6b7280;font-size:13px}.ifv-suite-login-card label{display:block;font-size:12px;font-weight:700;color:#374151;margin-bottom:6px}
.ifv-suite-login-card input[type=text],.ifv-suite-login-card input[type=password]{width:100%;box-sizing:border-box;border:1px solid #d1d5db;border-radius:9px;padding:11px 12px;font-size:14px}.ifv-suite-login-card .login-remember label{display:flex;gap:8px;align-items:center;font-weight:500}
.ifv-suite-login-card .button-primary{width:100%;border:0;border-radius:9px;padding:11px 16px;background:var(--ifv-orange,#f36d21);color:#fff;font-size:14px;font-weight:800;cursor:pointer}.ifv-suite-login-card .login-submit{margin-bottom:0}
@media(max-width:760px){.ifv-suite-login-screen{grid-template-columns:1fr}.ifv-suite-login-brand{min-height:180px;padding:32px}.ifv-suite-login-brand strong{font-size:34px}.ifv-suite-login-card{margin:28px auto}}


/* v12.1.2 — dedicated ERP surface: never show theme chrome around Suite content. */
html,body.ifv-suite-bare-template{margin:0!important;padding:0!important;width:100%;min-height:100%;background:#0b1320}
body.ifv-suite-bare-template{min-height:100vh;overflow-x:hidden}
body.ifv-suite-bare-template #wpadminbar{display:none!important}
body.ifv-suite-bare-template .ifv-suite-bare-content{margin:0!important;padding:0!important;min-height:100vh;max-width:none!important;width:100%!important}
body.ifv-suite-bare-template .ifv-suite-login-screen{
  position:relative;
  min-height:100vh;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  box-sizing:border-box;
  padding:clamp(28px,6vw,92px);
  overflow:hidden;
  isolation:isolate;
  background:
    linear-gradient(90deg,rgba(5,16,28,.22) 0%,rgba(5,16,28,.34) 42%,rgba(5,16,28,.72) 100%),
    url('https://erp.interfresh.com.vn/wp-content/uploads/2026/09/de7fc3b6-d270-404e-bc1b-406e10fa4a1d.jpg') center center/cover no-repeat fixed;
}
body.ifv-suite-bare-template .ifv-suite-login-screen:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.22));
}
body.ifv-suite-bare-template .ifv-suite-login-brand{
  position:absolute;
  left:clamp(28px,6vw,96px);
  top:clamp(28px,7vh,84px);
  color:#fff;
  text-shadow:0 2px 18px rgba(0,0,0,.28);
}
body.ifv-suite-bare-template .ifv-suite-login-brand span{
  display:block;
  font-size:clamp(13px,1.2vw,17px);
  font-weight:800;
  letter-spacing:.28em;
  text-transform:uppercase;
}
body.ifv-suite-bare-template .ifv-suite-login-brand strong{
  display:block;
  margin-top:8px;
  font-size:clamp(30px,3.4vw,54px);
  line-height:1.04;
  font-weight:800;
}
body.ifv-suite-bare-template .ifv-suite-login-brand p{
  margin:13px 0 0;
  font-size:13px;
  letter-spacing:.08em;
  opacity:.86;
}
body.ifv-suite-bare-template .ifv-suite-login-card{
  width:min(430px,100%);
  padding:34px 34px 30px;
  border:1px solid rgba(255,255,255,.34);
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:0 30px 80px rgba(0,0,0,.28);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
body.ifv-suite-bare-template .ifv-suite-login-card h2{
  margin:0 0 8px;
  color:#111827;
  font-size:27px;
  line-height:1.15;
}
body.ifv-suite-bare-template .ifv-suite-login-card>p{
  margin:0 0 24px;
  color:#6b7280;
  font-size:13px;
}
body.ifv-suite-bare-template .ifv-suite-login-card form p{margin:0 0 16px}
body.ifv-suite-bare-template .ifv-suite-login-card label{
  display:block;
  margin:0 0 7px;
  color:#374151;
  font-size:12px;
  font-weight:700;
}
body.ifv-suite-bare-template .ifv-suite-login-card input[type="text"],
body.ifv-suite-bare-template .ifv-suite-login-card input[type="password"]{
  width:100%;
  height:48px;
  box-sizing:border-box;
  border:1px solid #d7dde5;
  border-radius:12px;
  padding:0 14px;
  background:#fff;
  color:#111827;
  font-size:14px;
  outline:none;
  box-shadow:none;
}
body.ifv-suite-bare-template .ifv-suite-login-card input[type="text"]:focus,
body.ifv-suite-bare-template .ifv-suite-login-card input[type="password"]:focus{
  border-color:#f36d21;
  box-shadow:0 0 0 3px rgba(243,109,33,.12);
}
body.ifv-suite-bare-template .ifv-suite-login-card .login-remember label{
  display:flex;
  align-items:center;
  gap:8px;
  font-weight:500;
}
body.ifv-suite-bare-template .ifv-suite-login-card .login-submit{margin-top:20px}
body.ifv-suite-bare-template .ifv-suite-login-card .button-primary{
  width:100%;
  height:50px;
  border:0;
  border-radius:12px;
  background:#f36d21;
  color:#fff;
  font-size:14px;
  font-weight:800;
  letter-spacing:.03em;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(243,109,33,.28);
}
body.ifv-suite-bare-template .ifv-suite-login-card .button-primary:hover{filter:brightness(.96)}
body.ifv-suite-bare-template.logged-in .ifv-suite-bare-content{min-height:100vh;background:#f4f6f8}
@media(max-width:900px){
  body.ifv-suite-bare-template .ifv-suite-login-screen{
    justify-content:center;
    align-items:flex-end;
    padding:24px;
    background-position:center center;
  }
  body.ifv-suite-bare-template .ifv-suite-login-brand{
    left:24px;
    right:24px;
    top:38px;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card{padding:28px 24px;border-radius:20px}
}
@media(max-width:520px){
  body.ifv-suite-bare-template .ifv-suite-login-brand strong{font-size:32px}
  body.ifv-suite-bare-template .ifv-suite-login-brand p{font-size:11px}
  body.ifv-suite-bare-template .ifv-suite-login-screen{padding:18px}
}


/* v12.1.3 — preserve company signage in the login hero. */
body.ifv-suite-bare-template .ifv-suite-login-screen{
  align-items:flex-end;
  justify-content:flex-end;
  padding:clamp(24px,4vw,64px);
  background:
    linear-gradient(90deg,rgba(5,16,28,.08) 0%,rgba(5,16,28,.10) 48%,rgba(5,16,28,.34) 100%),
    url('https://erp.interfresh.com.vn/wp-content/uploads/2026/09/7720f0c4-f8c5-4643-a439-592a88819268.jpg') center 24%/cover no-repeat fixed;
}
body.ifv-suite-bare-template .ifv-suite-login-screen:before{
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.04) 54%,rgba(0,0,0,.18) 100%);
}
body.ifv-suite-bare-template .ifv-suite-login-brand{
  left:clamp(26px,4vw,64px);
  top:auto;
  bottom:clamp(28px,4vw,58px);
  max-width:420px;
}
body.ifv-suite-bare-template .ifv-suite-login-brand strong{
  font-size:clamp(27px,2.6vw,43px);
}
body.ifv-suite-bare-template .ifv-suite-login-card{
  width:min(390px,100%);
  padding:30px 30px 27px;
  border-radius:20px;
  background:rgba(255,255,255,.92);
  box-shadow:0 22px 58px rgba(0,0,0,.24);
}
@media(max-width:900px){
  body.ifv-suite-bare-template .ifv-suite-login-screen{
    align-items:flex-end;
    justify-content:center;
    padding:18px;
    background-position:center 22%;
    background-attachment:scroll;
  }
  body.ifv-suite-bare-template .ifv-suite-login-brand{
    left:22px;
    right:22px;
    top:28px;
    bottom:auto;
    max-width:none;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card{
    width:min(420px,100%);
  }
}
@media(max-width:520px){
  body.ifv-suite-bare-template .ifv-suite-login-screen{
    background-position:center 20%;
  }
}


/* v12.2.2 — ERP login matching approved mockup: signage-first, single top-right card. */
body.ifv-suite-bare-template .ifv-suite-login-brand{display:none!important}
body.ifv-suite-bare-template .ifv-suite-login-screen{
  min-height:100vh;
  align-items:flex-start;
  justify-content:flex-end;
  padding:clamp(34px,4.2vw,72px) clamp(34px,6.2vw,108px);
  background:
    linear-gradient(90deg,rgba(5,16,28,.02) 0%,rgba(5,16,28,.03) 55%,rgba(5,16,28,.14) 100%),
    url('https://erp.interfresh.com.vn/wp-content/uploads/2026/09/7720f0c4-f8c5-4643-a439-592a88819268.jpg') center 36%/cover no-repeat fixed;
}
body.ifv-suite-bare-template .ifv-suite-login-screen:before{
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.025) 70%,rgba(0,0,0,.09) 100%);
}
body.ifv-suite-bare-template .ifv-suite-login-card{
  width:min(430px,100%);
  margin-top:0;
  padding:32px 32px 28px;
  border:1px solid rgba(255,255,255,.64);
  border-radius:22px;
  background:rgba(255,255,255,.95);
  box-shadow:0 24px 65px rgba(16,24,40,.18);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
body.ifv-suite-bare-template .ifv-suite-login-card h2{
  margin:0 0 8px;
  font-size:29px;
  font-weight:500;
  letter-spacing:-.02em;
  color:#202938;
}
body.ifv-suite-bare-template .ifv-suite-login-card>p{
  margin:0 0 26px;
  color:#87909f;
  font-size:13px;
}
body.ifv-suite-bare-template .ifv-suite-login-card form p{
  margin:0 0 17px;
}
body.ifv-suite-bare-template .ifv-suite-login-card label{
  margin-bottom:8px;
  color:#334155;
  font-size:12px;
  font-weight:700;
}
body.ifv-suite-bare-template .ifv-suite-login-card input[type="text"],
body.ifv-suite-bare-template .ifv-suite-login-card input[type="password"]{
  height:50px;
  border:1px solid #d7dee8;
  border-radius:12px;
  background:rgba(255,255,255,.97);
}
body.ifv-suite-bare-template .ifv-suite-login-card .login-remember{
  margin-top:2px;
  margin-bottom:18px;
}
body.ifv-suite-bare-template .ifv-suite-login-card .login-submit{
  margin:22px 0 0;
}
body.ifv-suite-bare-template .ifv-suite-login-card .button-primary{
  height:52px;
  border-radius:12px;
  background:#f36d21;
  font-size:15px;
  box-shadow:0 12px 26px rgba(243,109,33,.24);
}
body.ifv-suite-bare-template .ifv-suite-forgot{
  display:block;
  margin-top:14px;
  text-align:right;
  color:#f36d21;
  font-size:12px;
  font-weight:600;
  text-decoration:none;
}
body.ifv-suite-bare-template .ifv-suite-forgot:hover{text-decoration:underline}

@media (min-width:901px) and (max-height:820px){
  body.ifv-suite-bare-template .ifv-suite-login-screen{
    padding-top:28px;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card{
    padding:26px 28px 24px;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card h2{font-size:26px}
  body.ifv-suite-bare-template .ifv-suite-login-card input[type="text"],
  body.ifv-suite-bare-template .ifv-suite-login-card input[type="password"]{height:46px}
  body.ifv-suite-bare-template .ifv-suite-login-card .button-primary{height:48px}
}
@media(max-width:900px){
  body.ifv-suite-bare-template .ifv-suite-login-screen{
    align-items:flex-start;
    justify-content:center;
    padding:24px 18px;
    background-position:center 32%;
    background-attachment:scroll;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card{
    width:min(430px,100%);
    margin-top:8px;
    padding:27px 24px 24px;
  }
}
@media(max-width:520px){
  body.ifv-suite-bare-template .ifv-suite-login-screen{
    padding:16px 14px;
    background-position:center 28%;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card{
    border-radius:18px;
  }
}


/* v12.2.3 — raise desktop login card to keep the right-side factory sign visible. */
@media (min-width:901px){
  body.ifv-suite-bare-template .ifv-suite-login-screen{
    padding-top:14px;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card{
    margin-top:0;
    transform:translateY(-2px);
  }
}
@media (min-width:901px) and (max-height:820px){
  body.ifv-suite-bare-template .ifv-suite-login-screen{
    padding-top:8px;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card{
    transform:translateY(0);
  }
}


/* v12.2.4 — pin ERP login card at the very top-right, clear of both factory signs. */
@media (min-width:901px){
  body.ifv-suite-bare-template .ifv-suite-login-screen{
    position:relative;
    display:block;
    padding:0!important;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card{
    position:absolute;
    top:6px;
    right:clamp(28px,5vw,88px);
    margin:0!important;
    transform:none!important;
    width:min(390px,calc(100vw - 56px));
    padding:24px 28px 22px;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card h2{
    font-size:27px;
    margin-bottom:5px;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card>p{
    margin-bottom:18px;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card form p{
    margin-bottom:12px;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card input[type="text"],
  body.ifv-suite-bare-template .ifv-suite-login-card input[type="password"]{
    height:44px;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card .login-remember{
    margin-bottom:12px;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card .login-submit{
    margin-top:14px;
  }
  body.ifv-suite-bare-template .ifv-suite-login-card .button-primary{
    height:46px;
  }
  body.ifv-suite-bare-template .ifv-suite-forgot{
    margin-top:9px;
  }
}


/* ==========================================================================
 * v13.2 — Unified HRM/CRM UI geometry contract
 * ========================================================================== */
html{max-width:100%;overflow-x:hidden}
body.ifv-suite-shell-active{
  width:100%!important;
  max-width:100vw!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
}
body.ifv-suite-shell-active .ifv-suite-bare-content{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
}
body.ifv-suite-shell-active #hrm-root{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
body.ifv-suite-shell-active #hrm-root > .app{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:calc(100dvh - var(--ifv-suite-top))!important;
  min-height:0!important;
  overflow:hidden!important;
}
body.ifv-suite-shell-active #hrm-root > .app > .main{
  flex:1 1 auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
body.ifv-suite-shell-active #hrm-root > .app > .main > .page{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:clamp(14px,1.5vw,24px)!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
body.ifv-suite-shell-active #hrm-root > .app > .main > .page.active{
  display:block!important;
}

/* Generic HRM cards/grids may shrink; data tables keep their own horizontal scroll. */
body.ifv-suite-shell-active #hrm-root :is(
  .card,.ifv-native-panel,.ifv-role-dashboard,.stats-row,.filter-bar,.hrm-action-bar,
  .ifv-requests-overview,.cc-panel,#ifv-cc-root,#ifv-payroll-v3,#ifv-ot-root
){
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.ifv-suite-shell-active #hrm-root :is(
  .table-wrap,.ifv-native-table-wrap,.tw,.cc-wrap
){
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
}
body.ifv-suite-shell-active #hrm-root :is(
  .filter-bar,.hrm-action-bar,.bar,.tabs
){
  flex-wrap:wrap!important;
}
body.ifv-suite-shell-active #hrm-root :is(
  .filter-bar,.hrm-action-bar,.stats-row,.ifv-role-kpis
)>*{
  min-width:0!important;
}

/* Prevent Suite topbar from visually colliding with module sticky headers. */
body.ifv-suite-shell-active #hrm-root table thead th{
  scroll-margin-top:calc(var(--ifv-suite-top) + 8px);
}

/* Laptop: prioritize readable module canvas over oversized page padding. */
@media(max-width:1366px){
  body.ifv-suite-shell-active #hrm-root > .app > .main > .page{
    padding:14px!important;
  }
}
@media(max-width:900px){
  body.ifv-suite-shell-active #hrm-root > .app{
    height:calc(100dvh - var(--ifv-suite-top))!important;
  }
  body.ifv-suite-shell-active #hrm-root > .app > .main > .page{
    padding:10px!important;
  }
}
