:root{
--bg:#f6f7f9;--card:#fff;--ink:#17191d;--muted:#6f737b;--line:#e6e7ea;--primary:#ed1c24;--primary2:#c9141b;
--sidebar:#171717;--sidebar2:#202020;--success:#16803d;--danger:#c9362b;--warning:#b76e00;--info:#4b5563;
--jenx-red:#ed1c24;--jenx-gray:#a7a9ac;--shadow:0 8px 28px rgba(0,0,0,.055)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--ink);background:var(--bg)}
a{color:var(--primary);text-decoration:none}
button,input,select,textarea{font:inherit}
.sidebar{position:fixed;inset:0 auto 0 0;width:248px;background:linear-gradient(180deg,var(--sidebar),#0e0e0f);color:#e7e7e7;border-top:4px solid var(--jenx-red);padding:18px 13px;display:flex;flex-direction:column;z-index:20;overflow:auto}
.logo{display:grid;gap:6px;padding:2px 8px 18px;border-bottom:1px solid #333;margin-bottom:10px}
.logo img{display:block;width:178px;max-height:58px;object-fit:contain;object-position:left center;background:#fff;border-radius:8px;padding:5px 8px}
.logo div{display:grid;gap:1px}.logo strong{font-size:13px;line-height:1.2;color:#fff}.logo small{font-size:10px;color:#9ca3af;line-height:1.2}
.brandmark{display:grid;place-items:center;width:42px;height:42px;background:var(--jenx-red);color:#fff;border-radius:12px;font-weight:900;box-shadow:0 8px 20px rgba(237,28,36,.22)}
.sidebar nav{display:grid;gap:4px}
.sidebar nav a{color:#aebcd0;padding:9px 11px;border-radius:9px;font-weight:680;display:flex;align-items:center;justify-content:space-between}
.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#292929;box-shadow:inset 3px 0 0 var(--jenx-red)}
.sidebar nav small{font-size:10px;color:#64748b}
.side-user{margin-top:auto;border-top:1px solid #333;padding:14px 8px 0;display:grid}
.side-user span{color:#8291a8;font-size:12px}
.side-user a{margin-top:7px;color:#f7a1a5}
.main{margin-left:248px;padding:26px;min-height:100vh;max-width:1680px;border-top:4px solid var(--jenx-red)}
header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:14px}
.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
h1{font-size:26px;margin:0}
h2{font-size:18px;margin:0 0 14px}
h3{font-size:15px;margin:0 0 12px}
.muted{color:var(--muted);margin:.25rem 0}
.small{font-size:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:18px;box-shadow:var(--shadow)}
.card.compact{padding:13px}
.cardhead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.cardhead h2{margin:0}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}
.kpis div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:0 4px 16px rgba(15,23,42,.025)}
.kpis span{display:block;color:var(--muted);font-size:12px}
.kpis strong{font-size:28px;display:block;margin-top:4px}
.kpis small{color:var(--muted)}
.grid2{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tablewrap{overflow:auto}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;border-bottom:1px solid var(--line);padding:10px 9px;vertical-align:top}
th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:#fafbfd;white-space:nowrap}
td small{display:block;color:var(--muted);margin-top:3px}
tr:hover td{background:#fbfdff}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#edf1f5;color:#596579;font-size:11px;font-weight:760;white-space:nowrap}
.badge.success{background:#e7f6ec;color:var(--success)}
.badge.danger{background:#fdeceb;color:var(--danger)}
.badge.warning{background:#fff3d8;color:var(--warning)}
.badge.info{background:#e5f3fb;color:var(--info)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #cfd7e3;background:#fff;color:#27364d;padding:9px 13px;border-radius:9px;cursor:pointer;font-weight:720;min-height:38px}
.btn:hover{border-color:#aeb9c8;background:#f8fafc}
.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}
.btn.primary:hover{background:var(--primary2)}
.btn.danger{background:#fff5f4;color:#a4261d;border-color:#efbbb5}
.btn.success{background:#eefbf2;color:#12622f;border-color:#a8dfb7}
.btn.small{padding:5px 8px;font-size:12px;min-height:30px}
.btn.full{width:100%}
.alert{padding:11px 13px;border-radius:10px;margin:0 0 16px;border:1px solid #dce2ea;background:#fff}
.alert.success{border-color:#a8dfb7;background:#eefbf2;color:#12622f}
.alert.danger{border-color:#f0b4af;background:#fff0ef;color:#a4261d}
.alert.warning{border-color:#f0d49a;background:#fff8e8;color:#7a4a00}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.filters a,.filter-pill{padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fafbfd;color:#46566d}
.filters a.active{background:#fff0f1;border-color:#f3b2b5;color:#b81218}
.searchbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:12px 0}
.searchbar label{min-width:180px}
label{display:grid;gap:6px;font-weight:650;color:#394860}
input,select,textarea{width:100%;padding:10px;border:1px solid #cfd7e3;border-radius:8px;background:#fff;color:#17243a}
input:focus,select:focus,textarea:focus{outline:2px solid #ffd4d6;border-color:#ed1c24}
textarea{resize:vertical}
dialog{width:min(1500px,94vw);max-width:94vw;max-height:92vh;overflow:auto;border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px rgba(15,23,42,.25)}
dialog.wide{width:min(1660px,96vw);max-width:96vw}
dialog.xwide{width:min(1780px,98vw);max-width:98vw}
dialog::backdrop{background:rgba(15,23,42,.58)}
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:22px}
.formgrid.engineer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.formgrid .modalhead,.formgrid .actions,.formgrid .span2{grid-column:1/-1}
.formgrid textarea{min-height:90px}
.modalhead{display:flex;align-items:center;justify-content:space-between}
.modalhead button{border:0;background:none;font-size:24px;cursor:pointer}
.actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.inline-form{display:inline-flex;margin-left:6px;vertical-align:middle}
.inline-form .btn{margin:0}

.tickethead{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px;gap:12px}
.tickethead h2{font-size:22px}
.tickethead p{color:var(--muted)}
.pre{white-space:normal;overflow-wrap:anywhere}
.notes article{border-top:1px solid var(--line);padding:13px 0}
.notes article:first-child{border-top:0}
.notes article div{display:flex;justify-content:space-between;gap:10px}
.notes span{color:var(--muted);font-size:11px}
.notes p{margin:7px 0}
.formrow{display:flex;gap:12px;align-items:end;margin-top:10px;flex-wrap:wrap}
.formrow label{min-width:140px;max-width:220px}
.check{display:flex;align-items:center;gap:8px;font-weight:650}
.check input{width:auto}
dl{display:grid;grid-template-columns:135px 1fr;gap:8px;margin:0}
dt{color:var(--muted)}
dd{margin:0;overflow-wrap:anywhere}
.text-danger{color:var(--danger);font-weight:800}
.text-success{color:var(--success);font-weight:800}
.timeline{display:grid;gap:12px}
.timeline div{border-left:3px solid #dbe4f3;padding-left:12px}
.timeline strong,.timeline span{display:block}
.timeline span{color:var(--muted);font-size:12px}
.statline{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.statline:last-child{border:0}
.progress{height:8px;background:#e9eef5;border-radius:999px;overflow:hidden;margin-top:6px}
.progress i{display:block;height:100%;background:var(--jenx-red)}
.login-body{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 20% 0,#641116 0,#171717 42%,#080808 100%);padding:18px;border-top:5px solid var(--jenx-red)}
.login-card{width:min(430px,92vw);background:#fff;border-radius:18px;padding:30px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.login-logo{display:block;width:min(290px,85%);height:auto;margin:0 0 20px}.login-card .brandmark{margin-bottom:16px}
.login-card h1{margin-bottom:5px}
.login-card form{display:grid;gap:12px;margin-top:18px}
.code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f1f5f9;padding:2px 5px;border-radius:5px}
.kb-body{white-space:pre-wrap;line-height:1.65}
.empty{padding:28px;text-align:center;color:var(--muted)}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.tabs a{padding:8px 11px;border:1px solid var(--line);border-radius:9px;color:#45556d;background:#fff}
.tabs a.active{background:#fff0f1;border-color:#f3b2b5;color:#b81218}
.notice-dot{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:10px}
@media(max-width:1150px){.kpis{grid-template-columns:repeat(3,1fr)}.grid3{grid-template-columns:1fr 1fr}}

.master-split{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:18px;align-items:start}
@media(max-width:900px){.sidebar{position:static;width:auto}.main{margin-left:0;padding:16px}.kpis{grid-template-columns:1fr 1fr}.grid2,.grid3,.master-split{grid-template-columns:1fr}.formgrid,.formgrid.engineer-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:repeat(3,1fr)}.side-user{display:none}.formgrid .modalhead,.formgrid .actions,.formgrid .span2{grid-column:1}}
@media(max-width:560px){.kpis{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr 1fr}.main{padding:12px}.formrow{display:grid}.tickethead{display:grid;gap:8px}.header-actions{width:100%}header{align-items:flex-start;flex-direction:column}.card{padding:14px}}

/* v2.2 JENX ManageDesk visual system - ManageEngine-inspired service desk layout */
:root{
  --bg:#f2f4f7;--card:#ffffff;--ink:#20242a;--muted:#6b7280;--line:#dfe3e8;
  --primary:#ed1c24;--primary2:#c9141b;--sidebar:#171717;--sidebar2:#222;
  --shadow:0 2px 10px rgba(24,30,38,.055)
}
body{background:var(--bg);color:var(--ink);font-size:13.5px}
.sidebar{width:260px;padding:14px 12px 16px;background:#171717;border-top:0;box-shadow:2px 0 10px rgba(0,0,0,.08)}
.logo{padding:4px 8px 15px;margin-bottom:4px;border-bottom:1px solid #313131;gap:8px}
.logo img{width:208px;max-height:68px;object-fit:contain;object-position:left center;background:transparent;border-radius:0;padding:0}
.logo strong{font-size:13px;color:#fff;letter-spacing:.01em}.logo small{font-size:10px;color:#8f969f}
.sidebar nav{display:block;padding-top:5px}
.navgroup{margin:7px 0 13px}.navtitle{padding:4px 11px 5px;color:#777f89;font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.sidebar nav a{padding:8px 11px;margin:2px 0;border-radius:5px;color:#c8ccd2;font-weight:600;transition:.14s ease}
.sidebar nav a:hover{background:#222;color:#fff}.sidebar nav a.active{background:#292929;color:#fff;box-shadow:inset 3px 0 0 var(--primary)}
.side-user{border-top:1px solid #313131;padding-top:12px}.side-user a{color:#ff8e93}
.main{margin-left:260px;padding:0 24px 30px;max-width:none;border-top:0}
.topbar{height:58px;margin:0 -24px 18px;padding:0 24px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:16px;position:sticky;top:0;z-index:12;box-shadow:0 1px 3px rgba(0,0,0,.025)}
.topbar>div:first-child{display:flex;align-items:center;gap:10px}.topbar>div:first-child strong{font-size:14px;color:#20242a}.crumb{color:#8a919b;font-size:11px;padding-right:10px;border-right:1px solid var(--line)}
.userchip{display:inline-flex;align-items:center;padding:6px 9px;border:1px solid var(--line);border-radius:5px;background:#f8f9fb;color:#4b5563;font-size:11px;font-weight:650}
header{margin-bottom:15px}header h1{font-size:22px;font-weight:700}header .muted{font-size:11px}
.card{border-radius:8px;padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}.cardhead{margin-bottom:10px}.cardhead h2{font-size:16px}
.kpis{gap:12px;margin-bottom:14px}.kpis div{border-radius:8px;padding:14px 16px;box-shadow:var(--shadow);border-top:2px solid #f0f1f3}.kpis strong{font-size:25px}
.btn{border-radius:5px;min-height:34px;padding:7px 11px;font-weight:650}.btn.small{min-height:28px;padding:4px 7px}
input,select,textarea{border-radius:5px;padding:8px 9px;border-color:#cfd5dc}input:focus,select:focus,textarea:focus{outline:2px solid #ffd7d9;border-color:var(--primary)}
th{background:#f4f6f8;font-size:10px;color:#6b7280;padding:9px 8px}td{padding:9px 8px}.badge{border-radius:4px;padding:3px 6px;font-size:10px}
dialog{border-radius:9px}.formgrid{gap:12px;padding:18px}.modalhead{padding-bottom:8px;border-bottom:1px solid var(--line)}
.sep{border:0;border-top:1px solid var(--line);margin:18px 0}.smtpgrid{padding:0;grid-template-columns:1fr 1fr}.smtpgrid .actions{padding-top:4px}
.template-list{display:grid;gap:7px}.template-item{display:grid;grid-template-columns:minmax(130px,.7fr) 1.8fr auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--line);border-radius:6px;background:#fafbfc;color:var(--ink)}.template-item:hover{border-color:#f0a0a4;background:#fff7f7}.template-item small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.template-item span{font-size:11px;color:var(--primary);font-weight:700}
.login-body{background:linear-gradient(135deg,#101010 0,#191919 58%,#3b0d0f 100%);border-top:4px solid var(--primary)}.login-card{border-radius:10px;padding:26px}.login-logo{width:min(300px,90%);max-height:90px;object-fit:contain;object-position:left center;background:#0a0a0a;border-radius:6px;padding:4px;margin-bottom:18px}

.master-split{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:18px;align-items:start}
@media(max-width:900px){.sidebar{width:auto}.main{margin-left:0;padding:0 14px 24px}.topbar{margin:0 -14px 14px;padding:0 14px}.navgroup{margin:5px}.sidebar nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.navtitle{grid-column:1/-1}.topbar{position:static}.userchip{display:none}}
@media(max-width:560px){.template-item{grid-template-columns:1fr}.smtpgrid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr}.main{padding:0 10px 18px}.topbar{margin:0 -10px 12px;padding:0 10px}}

/* v2.4 exact user-supplied JENX brand asset */
.logo img{width:220px;max-height:84px;object-fit:contain;object-position:left center;background:transparent;padding:0}
.login-logo{width:min(330px,92%);max-height:128px;object-fit:contain;object-position:left center;background:transparent;padding:0}
.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.permission-group{border:1px solid var(--line);border-radius:7px;padding:10px;background:#fafbfc}.permission-group h4{margin:0 0 8px;font-size:12px}.permission-group .check{margin:6px 0}.filterbar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.filterbar .actions{grid-column:1/-1;justify-content:flex-start}.scope-preview{white-space:pre-wrap;max-width:460px}.rma-progress{font-size:11px;color:var(--muted)}
.master-split{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:18px;align-items:start}
@media(max-width:900px){.permission-grid,.filterbar{grid-template-columns:1fr 1fr}}@media(max-width:560px){.permission-grid,.filterbar{grid-template-columns:1fr}}
.readonlybox{border:1px solid var(--line);background:#f8fafc;border-radius:7px;padding:10px 12px;min-height:42px;display:flex;flex-direction:column;justify-content:center}
.readonlybox strong{font-size:13px;color:var(--text)}
.readonlybox small{display:block;margin-top:3px;color:var(--muted)}

/* v2.7.0 session/cache/footer refinements */
.site-footer{margin-top:18px;padding:12px 2px 22px;text-align:center;color:#667085;font-size:12px;border-top:1px solid #e5e7eb}
.login-copyright{margin-top:18px;text-align:center}

/* v2.7.0 modal consistency and workflow UI */
@media(min-width:1100px){dialog .formgrid{grid-template-columns:repeat(3,minmax(0,1fr))}dialog .formgrid .span2{grid-column:span 2}.formgrid .modalhead,.formgrid .actions{grid-column:1/-1}.formgrid.engineer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.workflow-callout{border:1px solid #f2c3c6;background:#fff8f8;border-radius:8px;padding:10px 12px;margin:10px 0}.security-note{border-left:3px solid var(--primary);padding:8px 10px;background:#fff7f7;color:#5b2330}.auth-links{display:flex;justify-content:space-between;gap:10px;margin-top:10px}.auth-links a{font-size:12px}.otp-input{font-size:24px;letter-spacing:.35em;text-align:center;font-weight:800}.status-countdown{font-size:11px;color:var(--muted);margin-top:5px}


/* v2.7.0 — global modal geometry + mobile-first portal layout */
:root{--modal-gap:48px}
.mobile-nav-toggle,.mobile-nav-backdrop{display:none}
dialog,dialog.wide,dialog.xwide{
  box-sizing:border-box!important;
  inline-size:min(1180px,calc(100vw - var(--modal-gap)))!important;
  width:min(1180px,calc(100vw - var(--modal-gap)))!important;
  max-inline-size:none!important;max-width:none!important;min-inline-size:0!important;
  margin:auto!important;max-block-size:min(92dvh,920px)!important;overflow:auto!important;overscroll-behavior:contain;
}
dialog.wide{inline-size:min(1380px,calc(100vw - var(--modal-gap)))!important;width:min(1380px,calc(100vw - var(--modal-gap)))!important}
dialog.xwide{inline-size:min(1560px,calc(100vw - var(--modal-gap)))!important;width:min(1560px,calc(100vw - var(--modal-gap)))!important}
dialog[open]{display:block}dialog .formgrid{width:100%;align-items:start}
@media(min-width:1200px){dialog .formgrid,dialog .formgrid.engineer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}dialog .formgrid .span2{grid-column:span 2}dialog .formgrid .modalhead,dialog .formgrid .actions{grid-column:1/-1}}
@media(min-width:701px) and (max-width:1199px){dialog .formgrid,dialog .formgrid.engineer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}dialog .formgrid .modalhead,dialog .formgrid .actions{grid-column:1/-1}}
.tablewrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}.tablewrap table{min-width:760px}.card,.main,header,.topbar{min-width:0}
@media(max-width:900px){
  :root{--modal-gap:24px}body{overflow-x:hidden}.sidebar{position:fixed!important;inset:0 auto 0 0!important;width:min(320px,86vw)!important;height:100dvh!important;transform:translateX(-104%);transition:transform .2s ease;z-index:110!important;overflow-y:auto!important}
  body.mobile-nav-open{overflow:hidden}body.mobile-nav-open .sidebar{transform:translateX(0)}
  .mobile-nav-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);background:#fff;color:#20242a;border-radius:6px;padding:7px 10px;font-weight:700;cursor:pointer;flex:0 0 auto}
  .mobile-nav-backdrop{position:fixed;inset:0;border:0;background:rgba(0,0,0,.48);z-index:105;padding:0}body.mobile-nav-open .mobile-nav-backdrop{display:block}
  .main{margin-left:0!important;padding:0 14px 24px!important;width:100%!important;max-width:100%!important}.topbar{position:sticky!important;top:0!important;z-index:80!important;margin:0 -14px 14px!important;padding:8px 14px!important;min-height:58px;height:auto!important}
  .topbar>div:first-child{min-width:0;flex:1}.topbar>div:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb{display:none}.sidebar nav{display:block!important}.navtitle{display:block!important}.side-user{display:grid!important}
  header{gap:10px}.header-actions{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}.header-actions .btn{flex:0 0 auto}.grid2,.grid3,.master-split{grid-template-columns:1fr!important}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.filterbar,.permission-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.formrow label{max-width:none!important;min-width:0!important;flex:1 1 180px}
}
@media(max-width:700px){
  :root{--modal-gap:16px}dialog,dialog.wide,dialog.xwide{inline-size:calc(100vw - var(--modal-gap))!important;width:calc(100vw - var(--modal-gap))!important;max-block-size:94dvh!important;border-radius:10px!important}
  dialog .formgrid,dialog .formgrid.engineer-grid{grid-template-columns:1fr!important;padding:14px!important;gap:11px!important}dialog .formgrid .span2,dialog .formgrid .modalhead,dialog .formgrid .actions{grid-column:1!important}
  .modalhead{position:sticky;top:-14px;background:#fff;z-index:3;padding:8px 0 10px!important}.actions{position:sticky;bottom:-14px;background:#fff;padding:10px 0 2px;z-index:3}.actions .btn{flex:1 1 auto}
  .kpis{grid-template-columns:1fr!important}.filterbar,.permission-grid{grid-template-columns:1fr!important}.main{padding:0 10px 18px!important}.topbar{margin:0 -10px 12px!important;padding:8px 10px!important}header h1{font-size:20px}.card{padding:13px!important}.cardhead{align-items:flex-start;flex-wrap:wrap}
  input,select,textarea{font-size:16px!important}.btn{min-height:40px}.btn.small{min-height:34px}.login-body{padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.login-card{width:100%!important;max-width:430px;padding:20px!important}.otp-input{font-size:22px!important;letter-spacing:.28em!important}.auth-links{flex-wrap:wrap}
}


/* v2.7.0 authentication/security controls */
.captcha-challenge{display:inline-flex;margin-left:8px;padding:4px 10px;border:1px dashed #ef4444;border-radius:8px;background:#fff5f5;color:#9f1239;font-weight:900;letter-spacing:.08em}
.security-notice{width:min(880px,calc(100vw - 32px))!important;max-width:880px!important}
.security-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.security-summary>div{display:grid;gap:5px;padding:14px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc}.security-summary span{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b}.security-summary strong{font-size:1rem;color:#111827}.modal-secondary-actions{display:flex;gap:10px;flex-wrap:wrap;padding:0 20px 20px}.modal-secondary-actions form{margin:0}.btn.danger{background:#b91c1c;color:#fff;border-color:#b91c1c}
@media(max-width:640px){.security-summary{grid-template-columns:1fr;padding:12px}.security-notice{width:calc(100vw - 16px)!important;margin:auto}.captcha-challenge{margin:6px 0 0}}

/* =========================================================
   JENX ManageDesk v2.8.0 — Modern operations workspace
   Original JENX logo asset is intentionally unchanged.
   ========================================================= */
:root{--v28-navy:#06152f;--v28-navy2:#0a2247;--v28-red:#ed1c24;--v28-red2:#c8121a;--v28-cyan:#26b7e7;--v28-bg:#f5f7fb;--v28-card:#fff;--v28-border:#e3e9f1;--v28-text:#172033;--v28-muted:#738096;--v28-shadow:0 7px 24px rgba(12,32,67,.07)}
body.v28{background:var(--v28-bg);color:var(--v28-text);font-family:Inter,Segoe UI,Arial,sans-serif}.v28 .sidebar{width:258px;background:linear-gradient(180deg,#04142f 0%,#071d3e 100%);padding:18px 14px;box-shadow:none;border-right:1px solid rgba(255,255,255,.04)}
.v28 .brand-lockup{padding:4px 7px 18px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:10px}.v28 .brand-lockup img{display:block;width:205px;max-width:100%;height:auto;object-fit:contain;object-position:left center}.v28 .brand-lockup small{display:block;margin-top:5px;color:#9fb0cb;font-size:9px;font-weight:800;letter-spacing:.18em}
.v28 .navgroup{margin:7px 0 15px}.v28 .navtitle{color:#7184a2;padding:5px 10px;font-size:9px}.v28 .sidebar nav a{display:flex;gap:11px;align-items:center;padding:9px 11px;margin:3px 0;border-radius:8px;color:#d4deec;font-size:12px;font-weight:650}.v28 .sidebar nav a b{width:20px;text-align:center;color:#a8b7ce;font-size:15px}.v28 .sidebar nav a:hover{background:rgba(255,255,255,.07);color:#fff}.v28 .sidebar nav a.active{background:linear-gradient(90deg,var(--v28-red),#c90f18);color:#fff;box-shadow:0 8px 18px rgba(237,28,36,.22),inset 0 0 0 1px rgba(255,255,255,.09)}.v28 .sidebar nav a.active b{color:#fff}.v28 .sidebar-visual{margin-top:22px;padding:18px 11px;border-top:1px solid rgba(255,255,255,.09);display:grid;gap:5px;color:#fff}.v28 .sidebar-visual .mini-shield{font-size:37px;color:#ff3b42;text-shadow:0 0 25px #e81b25}.v28 .sidebar-visual strong{font-size:13px}.v28 .sidebar-copy{margin-top:8px;padding:8px 11px;color:#8192ad;font-size:9.5px}
.v28 .main{margin-left:258px;padding:0 24px 28px}.v28 .topbar{height:66px;margin:0 -24px 18px;padding:0 24px;background:#fff;border-bottom:1px solid var(--v28-border);box-shadow:0 2px 8px rgba(15,35,70,.03);gap:16px}.v28 .global-search{width:min(560px,48vw);display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #dce4ef;border-radius:10px;padding:0 12px;height:40px}.v28 .global-search span{font-size:20px;color:#5c6b82}.v28 .global-search input{border:0!important;outline:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;width:100%;font-size:13px!important}.v28 .header-actions{display:flex;align-items:center;gap:14px}.v28 .vertical-switch{display:flex;gap:5px;background:#f5f7fa;border:1px solid #e0e6ef;border-radius:9px;padding:4px}.v28 .vertical-switch a,.v28 .vertical-switch span{min-width:36px;padding:6px 9px;text-align:center;border-radius:6px;font-weight:700;font-size:11px;color:#647188}.v28 .vertical-switch .active{background:#fff;color:var(--v28-red);box-shadow:0 2px 6px rgba(20,40,75,.08)}
.v28 .user-menu-wrap{position:relative}.v28 .user-menu-toggle{display:flex;align-items:center;gap:9px;border:0;background:transparent;padding:5px 4px 5px 7px;cursor:pointer;color:var(--v28-text);border-radius:9px}.v28 .user-menu-toggle:hover{background:#f5f7fa}.v28 .user-menu-toggle .avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#172c50;color:#fff;font-weight:800}.v28 .user-menu-toggle strong,.v28 .user-menu-toggle small{display:block;text-align:left;line-height:1.25}.v28 .user-menu-toggle strong{font-size:12px}.v28 .user-menu-toggle small{font-size:10px;color:var(--v28-muted)}.v28 .user-menu-toggle i{font-style:normal}.v28 .user-menu{position:absolute;right:0;top:48px;width:230px;padding:9px;background:#fff;border:1px solid var(--v28-border);border-radius:12px;box-shadow:0 16px 40px rgba(9,26,55,.16);z-index:100}.v28 .user-menu[hidden]{display:none}.v28 .user-menu-head{padding:9px 10px 11px;border-bottom:1px solid #edf0f5;margin-bottom:5px}.v28 .user-menu-head strong,.v28 .user-menu-head small{display:block}.v28 .user-menu-head small{margin-top:3px;color:var(--v28-muted);font-size:10px}.v28 .user-menu a{display:block;padding:9px 10px;color:#27364d;border-radius:7px;font-size:12px}.v28 .user-menu a:hover{background:#f5f7fa}.v28 .user-menu .logout-form{margin:0}.v28 .user-menu .logout-link{display:block;width:100%;padding:9px 10px;border:0;background:transparent;text-align:left;font:inherit;font-size:12px;border-radius:7px;cursor:pointer;color:#d31921}.v28 .user-menu .logout-link:hover{background:#fff1f2}.v28 .user-menu hr{border:0;border-top:1px solid #edf0f5;margin:5px 0}
.v28 .page-header{display:flex;margin:0 0 14px;padding:0}.v28 .page-header .eyebrow{font-size:9px;color:#9a5360;letter-spacing:.13em;font-weight:800}.v28 .page-header h1{font-size:24px;margin:3px 0 2px}.v28 .page-header p{font-size:11px;color:var(--v28-muted);margin:0}.v28 .card{border:1px solid var(--v28-border);border-radius:13px;box-shadow:var(--v28-shadow);padding:17px}.v28 .cardhead{gap:14px}.v28 .cardhead h2{font-size:15px}.v28 .btn{border-radius:8px}.v28 .btn.primary{background:linear-gradient(180deg,#f0262e,var(--v28-red2));border-color:var(--v28-red2);box-shadow:0 5px 12px rgba(237,28,36,.15)}
.v28 .hero-panel{min-height:190px;margin-bottom:14px;padding:25px 28px;border-radius:14px;background:#071b3a;overflow:hidden;position:relative;color:#fff;display:flex;align-items:center;box-shadow:0 12px 32px rgba(7,27,58,.15)}.v28 .hero-panel>div:first-child{position:relative;z-index:2;width:55%}.v28 .hero-panel .hero-kicker{font-size:10px;letter-spacing:.14em;color:#ff7075;font-weight:800}.v28 .hero-panel h2{font-size:28px;margin:7px 0 7px}.v28 .hero-panel p{max-width:610px;color:#c6d2e5;font-size:13px}.v28 .hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:17px}.v28 .hero-tags span{padding:7px 10px;border:1px solid rgba(255,255,255,.19);border-radius:8px;background:rgba(255,255,255,.05);font-size:10px}.v28 .hero-art{position:absolute;inset:0 0 0 44%;background:url('assets/cyber-network.svg?v=2.9.0') center/cover no-repeat;mask-image:linear-gradient(90deg,transparent 0,#000 20%);opacity:.95}
.v28 .kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:14px}.v28 .kpi-card{background:#fff;border:1px solid var(--v28-border);border-radius:13px;box-shadow:var(--v28-shadow);padding:14px 16px;display:flex;align-items:center;gap:13px}.v28 .kpi-card i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:21px;font-style:normal}.v28 .kpi-card.red i{background:#df1e25}.v28 .kpi-card.amber i{background:#f59a16}.v28 .kpi-card.green i{background:#21a976}.v28 .kpi-card.purple i{background:#6540be}.v28 .kpi-card span,.v28 .kpi-card strong,.v28 .kpi-card small{display:block}.v28 .kpi-card span{font-size:11px;font-weight:700}.v28 .kpi-card strong{font-size:24px;line-height:1.1;margin:3px 0}.v28 .kpi-card small{color:var(--v28-muted);font-size:9px}.v28 .dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,.75fr);gap:14px}.v28 .modern-card{padding:0;overflow:hidden}.v28 .modern-card .cardhead{padding:14px 16px;margin:0;border-bottom:1px solid #edf1f6}.v28 .modern-card .cardhead a{font-size:10px;color:var(--v28-red);font-weight:700}.v28 .compact-table{min-width:700px}.v28 .task-card{padding-bottom:5px}.v28 .task-row{display:flex;align-items:center;gap:9px;padding:12px 15px;border-bottom:1px solid #edf1f6;color:#26334a}.v28 .task-row>div{flex:1;min-width:0}.v28 .task-row strong,.v28 .task-row small{display:block}.v28 .task-row strong{font-size:11px}.v28 .task-row small{font-size:9px;color:var(--v28-muted);margin-top:3px}.v28 .quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.v28 .quick-card{display:flex;align-items:center;gap:11px;padding:15px;background:#fff;border:1px solid var(--v28-border);border-radius:12px;box-shadow:var(--v28-shadow);color:#1d2b41}.v28 .quick-card i{width:37px;height:37px;display:grid;place-items:center;border-radius:50%;background:#fff0f1;color:var(--v28-red);font-style:normal;font-size:18px}.v28 .quick-card div{flex:1}.v28 .quick-card strong,.v28 .quick-card span{display:block}.v28 .quick-card strong{font-size:12px}.v28 .quick-card span{font-size:9.5px;color:var(--v28-muted);margin-top:3px}.v28 .quick-card b{color:var(--v28-red);font-size:18px}.v28 .quick-card:hover{transform:translateY(-1px);border-color:#f2b5b8}.v28 .contact-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;border:1px solid var(--v28-border);border-radius:13px;box-shadow:var(--v28-shadow);padding:12px}.v28 .contact-strip>div{display:grid;grid-template-columns:40px 1fr;column-gap:9px;padding:7px 13px;border-right:1px solid #edf1f6}.v28 .contact-strip>div:last-child{border-right:0}.v28 .contact-strip i{grid-row:1/4;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff1f2;color:var(--v28-red);font-style:normal;font-size:17px}.v28 .contact-strip span{font-size:9px;color:var(--v28-muted);font-weight:700}.v28 .contact-strip strong{font-size:11px}.v28 .contact-strip small{font-size:9px;color:#69758a}.v28 .ticket-create-page{max-width:1280px;margin:0 auto}.v28 .ticket-create-intro{background:linear-gradient(125deg,#071a37,#102a53);padding:22px 25px;border-radius:13px 13px 0 0;color:#fff}.v28 .ticket-create-intro span{font-size:9px;color:#ff767b;font-weight:800;letter-spacing:.14em}.v28 .ticket-create-intro h2{margin:6px 0;font-size:22px}.v28 .ticket-create-intro p{color:#c9d5e8;margin:0;max-width:800px}.v28 .ticket-create-card{border-radius:0 0 13px 13px}.v28 .ticket-create-card .formgrid{grid-template-columns:repeat(3,minmax(0,1fr));padding:4px}.v28 .help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.v28 .kb-pdfs{margin-top:22px;padding-top:15px;border-top:1px solid var(--v28-border)}.v28 .pdf-row{display:flex;gap:8px;align-items:center;margin-top:8px}.v28 .site-footer{display:flex;justify-content:space-between;text-align:left;padding:18px 2px 6px;color:#7a8799}.v28 .site-footer a{color:#6d798a}
@media(max-width:1150px){.v28 .kpi-grid{grid-template-columns:repeat(2,1fr)}.v28 .dashboard-grid{grid-template-columns:1fr}.v28 .contact-strip{grid-template-columns:repeat(2,1fr)}.v28 .contact-strip>div:nth-child(2){border-right:0}.v28 .quick-grid{grid-template-columns:repeat(2,1fr)}.v28 .help-grid{grid-template-columns:repeat(2,1fr)}.v28 .ticket-create-card .formgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){body.v28 .sidebar{width:min(310px,86vw)!important}.v28 .main{margin-left:0!important}.v28 .global-search{width:min(480px,55vw)}.v28 .user-menu-toggle>span:nth-child(2){display:none}.v28 .page-header{padding-top:2px}.v28 .hero-panel>div:first-child{width:72%}.v28 .hero-art{left:48%;opacity:.7}}
@media(max-width:700px){.v28 .topbar{gap:8px}.v28 .global-search{flex:1;width:auto;min-width:0}.v28 .vertical-switch{display:none}.v28 .user-menu-toggle i{display:none}.v28 .hero-panel{padding:21px 18px;min-height:205px}.v28 .hero-panel>div:first-child{width:100%}.v28 .hero-panel h2{font-size:23px}.v28 .hero-panel p{max-width:90%}.v28 .hero-art{left:35%;opacity:.28}.v28 .kpi-grid,.v28 .quick-grid,.v28 .contact-strip,.v28 .help-grid{grid-template-columns:1fr}.v28 .contact-strip>div{border-right:0;border-bottom:1px solid #edf1f6}.v28 .contact-strip>div:last-child{border-bottom:0}.v28 .ticket-create-card .formgrid{grid-template-columns:1fr}.v28 .ticket-create-card .span2{grid-column:1}.v28 .site-footer{display:grid;gap:5px}.v28 .user-menu{position:fixed;right:10px;top:62px;width:min(280px,calc(100vw - 20px))}}


/* v2.9.0 — long User / Employee forms are full pages, never dialogs */
.page-form-top{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 16px}.page-form-top h2{font-size:22px;margin:8px 0 4px;color:#0b1731}.page-form-top p{margin:0}.back-link{font-weight:750;color:var(--red);font-size:12px}.status-chip{padding:7px 11px;border-radius:999px;background:#e8f8ef;color:#18794e;font-size:11px;font-weight:800}.page-form-shell{padding:0;overflow:hidden;max-width:none}.page-form-section{padding:22px 24px;border-bottom:1px solid var(--line);background:#fff}.page-form-section:nth-child(even){background:#fbfcfe}.section-title{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.section-title>span{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#fff0f1;color:var(--red);font-size:11px;font-weight:900;border:1px solid #ffd5d8}.section-title h3{font-size:15px;margin:0 0 3px;color:#101c33}.section-title p{font-size:11px;color:var(--muted);margin:0}.page-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 18px;align-items:start}.page-form-grid>label{display:grid;gap:7px;font-size:11px;font-weight:800;color:#334155;min-width:0}.page-form-grid>label input,.page-form-grid>label select,.page-form-grid>label textarea{width:100%;min-width:0}.page-form-grid .span2{grid-column:span 2}.page-form-grid .span-all,.span-all{grid-column:1/-1}.security-section{background:linear-gradient(180deg,#fff,#fffafb)}.security-note{padding:12px 14px;border:1px solid #ffd9dc;border-radius:10px;background:#fff6f7;color:#7f1d1d;font-size:11px;line-height:1.55}.page-form-actions{position:sticky;bottom:0;z-index:10;display:flex;justify-content:flex-end;gap:12px;padding:15px 24px;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -8px 22px rgba(15,23,42,.04)}
@media(max-width:1050px){.page-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-form-grid .span2{grid-column:1/-1}}
@media(max-width:700px){.page-form-top{align-items:flex-start;flex-direction:column}.page-form-section{padding:18px 15px}.page-form-grid{grid-template-columns:1fr;gap:13px}.page-form-grid .span2,.page-form-grid .span-all{grid-column:1}.page-form-actions{padding:12px 15px}.page-form-actions .btn{flex:1 1 0}.section-title{margin-bottom:14px}}


/* v3.0 classification, buttons, reports, training/calendar */
.actions,.toolbar-actions,.workflow-actions,.report-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 12px}
.actions form,.toolbar-actions form{margin:0}.cardhead>div:last-child{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.workflow-actions{margin:14px 0}.workflow-actions .btn{margin:0}.workflow-transition-form{margin-top:12px}.workflow-track{gap:8px}
.report-toolbar{margin:0 0 12px}.report-filter-panel{margin-bottom:14px}.report-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.report-filters .actions{align-self:end}
.calendar-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px}.calendar-toolbar h2{margin:0 auto 0 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:1px;background:#dce3ed;border:1px solid #dce3ed;border-radius:12px;overflow:auto}.calendar-day-head{background:#f3f6fa;padding:10px;font-weight:800;color:#475569;text-align:center}.calendar-cell{min-height:125px;background:#fff;padding:9px;position:relative}.calendar-cell.outside{background:#f8fafc;color:#9aa5b5}.calendar-cell.today{box-shadow:inset 0 0 0 2px #d91f2b}.calendar-date{font-weight:800;margin-bottom:7px}.calendar-event{display:block;background:#f4f7fb;border-left:3px solid #d91f2b;border-radius:6px;padding:5px 6px;margin:5px 0;color:#17233a}.calendar-event span{display:block;font-size:9px;text-transform:uppercase;color:#d91f2b;font-weight:800}.calendar-event strong{font-size:10px;line-height:1.25;display:block}.toolbar-actions .btn,.cardhead .btn{white-space:nowrap}
@media(max-width:900px){.report-filters{grid-template-columns:1fr 1fr}.calendar-grid{grid-template-columns:repeat(7,minmax(115px,1fr))}}
@media(max-width:700px){.actions,.toolbar-actions,.workflow-actions,.report-toolbar{gap:9px}.actions .btn,.toolbar-actions .btn{margin:0}.report-filters{grid-template-columns:1fr}.calendar-grid{grid-template-columns:repeat(7,minmax(105px,1fr))}.calendar-cell{min-height:110px}}

.resolve-dialog{width:min(680px,94vw);max-height:88vh;padding:20px;border:0;border-radius:14px}.resolve-dialog::backdrop{background:rgba(6,16,35,.55)}.resolve-dialog label{display:grid;gap:7px;margin:12px 0}.resolve-dialog .actions{margin-top:16px}
/* final v3 spacing refinement */
.tablewrap td .btn{margin:2px 6px 2px 0}.tablewrap td form{margin:2px 6px 2px 0;display:inline-block}.toolbar-actions{gap:10px!important}.cardhead{gap:14px}.formrow{gap:12px}.filters{gap:10px}.tabs{gap:8px}


/* v3.1 Project Configuration */
.project-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.project-summary-grid .card{margin:0}.project-workflow{overflow-x:auto;padding-bottom:4px}.project-workflow .workflow-track{min-width:max-content}.project-stage-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.inline-editor{margin-top:8px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe;padding:10px}.inline-editor>summary{cursor:pointer;font-weight:800;color:#334155}.inline-editor[open]>summary{margin-bottom:10px}.row-editor{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end}.row-editor .span2{grid-column:span 2}.row-editor .actions{grid-column:1/-1}.danger-zone{border-color:#ffd2d6;background:#fffafa}.boq-progress{display:flex;align-items:center;gap:8px;min-width:130px}.boq-progress progress{width:100%;height:10px}.project-contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-contact-grid .card{margin:0}
@media(max-width:1000px){.project-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.row-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.project-contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.project-summary-grid,.row-editor,.project-contact-grid{grid-template-columns:1fr}.row-editor .span2{grid-column:1}.project-workflow{margin-left:-4px;margin-right:-4px;padding-left:4px;padding-right:4px}}


/* v3.1 report navigation and compact action cards */
.report-module-nav{display:flex;gap:8px;overflow-x:auto;padding:2px 0 12px;margin-bottom:4px}.report-module{display:flex;align-items:center;gap:8px;min-width:max-content;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:#334155;text-decoration:none}.report-module i{font-style:normal;color:#d91f2b}.report-module.active{border-color:#ef9aa2;background:#fff5f6;color:#b91c27}.function-report-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.function-report-grid a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#17233a;text-decoration:none;box-shadow:0 3px 12px rgba(15,23,42,.035)}.function-report-grid a:hover{border-color:#e7a3aa;background:#fffafb}.function-report-grid strong{font-size:12px}.function-report-grid span{font-size:10px;color:#d91f2b;font-weight:800;white-space:nowrap}.row-editor form{display:grid;grid-template-columns:repeat(4,minmax(105px,1fr));gap:8px;align-items:end;margin-top:9px}.row-editor form .actions{grid-column:1/-1}.row-editor form textarea{min-width:180px}.project-stage-form label{display:grid;gap:7px;max-width:760px}.project-stage-form textarea{width:100%}
@media(max-width:1000px){.function-report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.row-editor form{grid-template-columns:repeat(2,minmax(120px,1fr))}}
@media(max-width:700px){.function-report-grid{grid-template-columns:1fr}.function-report-grid a{min-height:50px}.row-editor form{grid-template-columns:1fr}.row-editor form .actions{grid-column:1}}

/* v3.1 centralized Admin Panel, field rules and employee allocations */
.required-mark{color:#d91f2b;font-weight:900;margin-left:2px}.optional-mark{color:#8994a5;font-size:9px;font-weight:650;margin-left:5px;text-transform:uppercase;letter-spacing:.03em}.admin-control{border-top:3px solid #d91f2b}.admin-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.admin-shortcuts a{display:flex;min-height:68px;flex-direction:column;justify-content:center;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe;color:#17233a;text-decoration:none}.admin-shortcuts a:hover{border-color:#e6a0a7;background:#fff8f8}.admin-shortcuts strong{font-size:12px}.admin-shortcuts span{font-size:10px;color:#d91f2b;font-weight:750}.admin-row-list,.field-rule-list{display:grid;gap:8px}.admin-row-form{display:grid;grid-template-columns:1.05fr 1.5fr .55fr 1.4fr .65fr .65fr .75fr auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.admin-row-form>div,.admin-row-form>label{min-width:0}.admin-row-form label:not(.check){display:grid;gap:5px}.admin-row-form label span,.admin-row-label{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#7a8799;font-weight:800}.admin-row-form input{width:100%;min-width:0}.admin-row-form small{display:block;color:#8b96a6}.admin-row-check{align-self:center;white-space:nowrap}.field-rule-row{display:grid;grid-template-columns:minmax(220px,1fr) 180px auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff}.field-rule-row strong,.field-rule-row small{display:block}.field-rule-row small{margin-top:3px;color:#8a95a6;font-size:9px}.employee-picker{display:grid;gap:9px}.employee-picker>select{width:100%}.employee-picker-selected{display:flex;flex-wrap:wrap;gap:7px;min-height:38px;padding:7px;border:1px dashed #d6dde7;border-radius:9px;background:#fbfcfe}.employee-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 7px 6px 10px;border:1px solid #e7c5c8;border-radius:999px;background:#fff6f7;color:#6f1d23;font-size:10px;font-weight:750}.employee-chip button{border:0;background:#d91f2b;color:#fff;width:18px;height:18px;border-radius:50%;line-height:16px;cursor:pointer;padding:0}.resource-profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.resource-profile-grid>div{padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.resource-profile-grid h3{margin:0 0 8px;font-size:12px}.resource-profile-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.resource-profile-grid li{display:flex;justify-content:space-between;gap:12px;padding:7px 8px;border-bottom:1px solid #edf0f4;font-size:11px}.resource-profile-grid li:last-child{border-bottom:0}.resource-profile-grid li span{color:#7a8799;font-size:10px}
@media(max-width:1150px){.admin-shortcuts{grid-template-columns:repeat(3,1fr)}.admin-row-form{grid-template-columns:repeat(4,minmax(0,1fr))}.admin-row-form button{align-self:end}.field-rule-row{grid-template-columns:1fr 160px auto}}
@media(max-width:700px){.admin-shortcuts{grid-template-columns:1fr 1fr}.admin-row-form{grid-template-columns:1fr 1fr}.field-rule-row{grid-template-columns:1fr}.resource-profile-grid{grid-template-columns:1fr}.employee-picker-selected{min-height:44px}}

/* v3.1.1 single Admin Panel site-administration workspace */
.admin-workspace-card{scroll-margin-top:82px}.admin-workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px;min-height:760px}.admin-workspace-nav{border:1px solid var(--line);border-radius:11px;background:#f8fafc;padding:10px;overflow:auto;max-height:900px}.admin-workspace-group{display:grid;gap:5px;margin-bottom:13px}.admin-workspace-group:last-child{margin-bottom:0}.admin-workspace-group>strong{padding:5px 7px;color:#6d7a8f;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.admin-workspace-link{width:100%;border:1px solid transparent;border-radius:8px;background:transparent;color:#24334b;padding:9px 10px;text-align:left;font-size:11px;font-weight:700;cursor:pointer}.admin-workspace-link:hover{background:#fff;border-color:#e3e8ef}.admin-workspace-link.active{background:#fff2f3;border-color:#ebb0b5;color:#b91c27;box-shadow:0 3px 10px rgba(185,28,39,.06)}.admin-workspace-content{min-width:0;border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden}.admin-workspace-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid var(--line);background:#fbfcfe}.admin-workspace-toolbar span,.admin-workspace-toolbar strong{display:block}.admin-workspace-toolbar span{font-size:9px;color:#7b8799;text-transform:uppercase;letter-spacing:.05em}.admin-workspace-toolbar strong{margin-top:2px;font-size:12px}.admin-workspace-content iframe{display:block;width:100%;height:820px;border:0;background:#f5f7fb}.admin-embed{background:#f5f7fb!important;overflow-x:hidden}.admin-embed .admin-embed-main{width:100%;max-width:none;margin:0!important;padding:14px!important}.admin-embed .admin-embed-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:12px 14px;border:1px solid #e3e9f1;border-radius:11px;background:#fff;box-shadow:0 4px 16px rgba(12,32,67,.05)}.admin-embed .admin-embed-header h1{margin:2px 0;font-size:18px}.admin-embed .admin-embed-header p{margin:0;color:#738096;font-size:10px}.admin-embed .page-header,.admin-embed .topbar,.admin-embed .sidebar,.admin-embed .site-footer{display:none!important}.admin-embed .card{box-shadow:0 4px 16px rgba(12,32,67,.05)}
@media(max-width:1100px){.admin-workspace{grid-template-columns:210px minmax(0,1fr)}.admin-workspace-content iframe{height:860px}}
@media(max-width:760px){.admin-workspace{grid-template-columns:1fr;min-height:0}.admin-workspace-nav{display:flex;gap:8px;max-height:none;overflow-x:auto}.admin-workspace-group{min-width:180px;margin:0}.admin-workspace-content iframe{height:900px}.admin-embed .admin-embed-main{padding:8px!important}.admin-embed .admin-embed-header{align-items:flex-start;flex-direction:column}}


/* v3.1.2 customizable dashboard and live all-task workflow tracker */
.dashboard-custom-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:start}.dashboard-widget{min-width:0}.dashboard-span-12{grid-column:span 12}.dashboard-span-8{grid-column:span 8}.dashboard-span-6{grid-column:span 6}.dashboard-span-4{grid-column:span 4}.dashboard-widget>.card,.dashboard-widget>section{margin:0}.dashboard-admin-link{display:flex;justify-content:flex-end;margin:12px 0 2px}.live-workflow-card{overflow:hidden}.live-tracker-head{align-items:flex-start;gap:18px}.live-tracker-head>div:first-child{min-width:220px}.live-tracker-head p{margin:4px 0 0}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#20a66a;box-shadow:0 0 0 4px rgba(32,166,106,.11);margin:0 5px 1px 4px}.tracker-controls{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.tracker-controls select,.tracker-controls input{min-height:34px;padding:6px 9px;font-size:10px}.tracker-controls input{min-width:220px}.tracker-stats{display:flex;gap:18px;align-items:center;padding:8px 14px;background:#fbfcfe;border-bottom:1px solid var(--line);font-size:10px;color:#6d798c}.tracker-stats strong{color:#17233a;font-size:13px}.workflow-tracker-table{min-width:1120px}.workflow-tracker-table td{vertical-align:middle}.workflow-tracker-table td small,.workflow-tracker-table td strong{display:block}.workflow-tracker-table td small{margin-top:3px;color:#7b8799;font-size:9px}.tracker-kind{display:inline-flex;align-items:center;border:1px solid #d9e0e8;border-radius:999px;background:#f8fafc;padding:4px 7px;font-size:9px;font-weight:800;white-space:nowrap}.tracker-progress{width:92px;height:8px;border-radius:999px;background:#e9edf3;overflow:hidden}.tracker-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#d91f2b,#ef6a73)}.dashboard-admin-list{display:grid;gap:8px}.dashboard-widget-admin-row{display:grid;grid-template-columns:.8fr 1.5fr .8fr .55fr 2.3fr auto;gap:9px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.dashboard-widget-admin-row>div,.dashboard-widget-admin-row>label{min-width:0}.dashboard-widget-admin-row label:not(.check){display:grid;gap:5px}.dashboard-widget-admin-row label>span{font-size:9px;text-transform:uppercase;letter-spacing:.04em;color:#7a8799;font-weight:800}.dashboard-role-checks{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding-bottom:5px}.dashboard-role-checks .check{font-size:9.5px;white-space:nowrap}.admin-subcard{margin-top:14px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe}.admin-subcard h3{margin:0 0 10px;font-size:13px}
@media(max-width:1150px){.dashboard-span-8,.dashboard-span-6,.dashboard-span-4{grid-column:span 12}.dashboard-widget-admin-row{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-role-checks{grid-column:1/-1}.live-tracker-head{flex-direction:column}.tracker-controls{justify-content:flex-start;width:100%}}
@media(max-width:700px){.dashboard-custom-grid{grid-template-columns:1fr}.dashboard-span-12,.dashboard-span-8,.dashboard-span-6,.dashboard-span-4{grid-column:1}.dashboard-widget-admin-row{grid-template-columns:1fr}.dashboard-role-checks{grid-column:1}.tracker-controls{display:grid;grid-template-columns:1fr 1fr}.tracker-controls input{grid-column:1/-1;min-width:0;width:100%}.tracker-stats{justify-content:space-between}}


/* v3.1.4 graphical milestone progress for every workflow */
.workflow-milestone{--ms-line:#dce3ec;--ms-done:#1e9b68;--ms-current:#2764c8;--ms-pending:#9aa7b7;margin:10px 0 4px}.workflow-milestone .milestone-track{display:flex;align-items:flex-start;overflow-x:auto;padding:4px 2px 6px;scrollbar-width:thin}.workflow-milestone .milestone-step{position:relative;display:flex;flex:1 0 88px;min-width:88px;align-items:center;flex-direction:column;text-align:center;color:#6b7789}.workflow-milestone .milestone-step:not(:last-child):after{content:"";position:absolute;top:10px;left:calc(50% + 12px);right:calc(-50% + 12px);height:3px;background:var(--ms-line);z-index:0}.workflow-milestone .milestone-step.done:not(:last-child):after{background:var(--ms-done)}.workflow-milestone .milestone-dot{position:relative;z-index:1;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--ms-pending);font-size:10px;font-weight:900}.workflow-milestone .milestone-step.done .milestone-dot{background:var(--ms-done);border-color:var(--ms-done);color:#fff}.workflow-milestone .milestone-step.current .milestone-dot{background:var(--ms-current);border-color:var(--ms-current);color:#fff;box-shadow:0 0 0 4px rgba(39,100,200,.12)}.workflow-milestone .milestone-label{font-size:9px;line-height:1.25;margin-top:6px;max-width:104px}.workflow-milestone .milestone-step.current .milestone-label{font-weight:800;color:#1f3e70}.workflow-milestone .milestone-step.done .milestone-label{color:#38745f}.workflow-milestone .milestone-meta{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:10px;color:#64748b;margin-top:4px}.workflow-milestone .milestone-meta strong{font-size:12px;color:#213047}.workflow-milestone.overdue .milestone-meta b{color:#c62828}.workflow-milestone.compact{min-width:180px;margin:4px 0}.workflow-milestone.compact .milestone-track{padding:1px 0 2px}.workflow-milestone.compact .milestone-step{flex:1 0 18px;min-width:18px}.workflow-milestone.compact .milestone-dot{width:14px;height:14px;font-size:7px}.workflow-milestone.compact .milestone-step:not(:last-child):after{top:6px;left:calc(50% + 7px);right:calc(-50% + 7px);height:2px}.workflow-milestone.compact .milestone-label{display:none}.workflow-milestone.compact .milestone-meta{margin-top:1px}.workflow-milestone.compact .milestone-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:150px}.tracker-milestone{margin-top:5px;min-width:150px}.tracker-milestone .tracker-ms-track{display:flex;align-items:center}.tracker-milestone .tracker-ms-dot{width:10px;height:10px;border-radius:50%;border:2px solid #aab5c2;background:#fff;position:relative;flex:none}.tracker-milestone .tracker-ms-dot.done{background:#1e9b68;border-color:#1e9b68}.tracker-milestone .tracker-ms-dot.current{background:#2764c8;border-color:#2764c8;box-shadow:0 0 0 2px rgba(39,100,200,.12)}.tracker-milestone .tracker-ms-line{height:2px;background:#dce3ec;flex:1;min-width:5px}.tracker-milestone .tracker-ms-line.done{background:#1e9b68}.tracker-milestone small{display:block;margin-top:3px;color:#6b7789}
@media(max-width:760px){.workflow-milestone.full .milestone-step{flex-basis:72px;min-width:72px}.workflow-milestone .milestone-label{font-size:8px}}


/* v3.1.4 employee access reference + project BOQ bulk upload */
.employee-rights-editor{width:100%;overflow:hidden}.employee-rights-table{min-width:1380px}.employee-rights-table input,.employee-rights-table select{min-width:130px}.employee-rights-table td:nth-child(2) input{min-width:190px}.employee-rights-table td:nth-child(4) input{min-width:220px}.employee-rights-table td:nth-child(5) input{display:block;min-width:145px;margin-bottom:5px}.boq-upload-grid{display:grid;grid-template-columns:minmax(280px,520px);gap:12px;margin:12px 0}.boq-upload-box{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:center;padding:14px;border:1px dashed var(--line);border-radius:14px;background:var(--surface-soft)}.boq-upload-box strong,.boq-upload-box span{grid-column:1/-1}.boq-upload-box input[type=file]{min-width:0}.boq-upload-box .btn{white-space:nowrap}@media(max-width:720px){.boq-upload-box{grid-template-columns:1fr}.boq-upload-box .btn{width:100%}}

.mt10{margin-top:10px}

/* CSP-safe workflow progress widths */
.progress-pct-0{width:0%}
.progress-pct-1{width:1%}
.progress-pct-2{width:2%}
.progress-pct-3{width:3%}
.progress-pct-4{width:4%}
.progress-pct-5{width:5%}
.progress-pct-6{width:6%}
.progress-pct-7{width:7%}
.progress-pct-8{width:8%}
.progress-pct-9{width:9%}
.progress-pct-10{width:10%}
.progress-pct-11{width:11%}
.progress-pct-12{width:12%}
.progress-pct-13{width:13%}
.progress-pct-14{width:14%}
.progress-pct-15{width:15%}
.progress-pct-16{width:16%}
.progress-pct-17{width:17%}
.progress-pct-18{width:18%}
.progress-pct-19{width:19%}
.progress-pct-20{width:20%}
.progress-pct-21{width:21%}
.progress-pct-22{width:22%}
.progress-pct-23{width:23%}
.progress-pct-24{width:24%}
.progress-pct-25{width:25%}
.progress-pct-26{width:26%}
.progress-pct-27{width:27%}
.progress-pct-28{width:28%}
.progress-pct-29{width:29%}
.progress-pct-30{width:30%}
.progress-pct-31{width:31%}
.progress-pct-32{width:32%}
.progress-pct-33{width:33%}
.progress-pct-34{width:34%}
.progress-pct-35{width:35%}
.progress-pct-36{width:36%}
.progress-pct-37{width:37%}
.progress-pct-38{width:38%}
.progress-pct-39{width:39%}
.progress-pct-40{width:40%}
.progress-pct-41{width:41%}
.progress-pct-42{width:42%}
.progress-pct-43{width:43%}
.progress-pct-44{width:44%}
.progress-pct-45{width:45%}
.progress-pct-46{width:46%}
.progress-pct-47{width:47%}
.progress-pct-48{width:48%}
.progress-pct-49{width:49%}
.progress-pct-50{width:50%}
.progress-pct-51{width:51%}
.progress-pct-52{width:52%}
.progress-pct-53{width:53%}
.progress-pct-54{width:54%}
.progress-pct-55{width:55%}
.progress-pct-56{width:56%}
.progress-pct-57{width:57%}
.progress-pct-58{width:58%}
.progress-pct-59{width:59%}
.progress-pct-60{width:60%}
.progress-pct-61{width:61%}
.progress-pct-62{width:62%}
.progress-pct-63{width:63%}
.progress-pct-64{width:64%}
.progress-pct-65{width:65%}
.progress-pct-66{width:66%}
.progress-pct-67{width:67%}
.progress-pct-68{width:68%}
.progress-pct-69{width:69%}
.progress-pct-70{width:70%}
.progress-pct-71{width:71%}
.progress-pct-72{width:72%}
.progress-pct-73{width:73%}
.progress-pct-74{width:74%}
.progress-pct-75{width:75%}
.progress-pct-76{width:76%}
.progress-pct-77{width:77%}
.progress-pct-78{width:78%}
.progress-pct-79{width:79%}
.progress-pct-80{width:80%}
.progress-pct-81{width:81%}
.progress-pct-82{width:82%}
.progress-pct-83{width:83%}
.progress-pct-84{width:84%}
.progress-pct-85{width:85%}
.progress-pct-86{width:86%}
.progress-pct-87{width:87%}
.progress-pct-88{width:88%}
.progress-pct-89{width:89%}
.progress-pct-90{width:90%}
.progress-pct-91{width:91%}
.progress-pct-92{width:92%}
.progress-pct-93{width:93%}
.progress-pct-94{width:94%}
.progress-pct-95{width:95%}
.progress-pct-96{width:96%}
.progress-pct-97{width:97%}
.progress-pct-98{width:98%}
.progress-pct-99{width:99%}
.progress-pct-100{width:100%}
/* v3.4.0 industrial encrypted backup / restore */
.table-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.table-actions form{margin:0}.backup-security-note{font-size:10px;color:var(--muted)}

.subcard{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--surface-2,#f8fafc)}.subcard h3{margin-top:0}.subcard .cardhead{margin-bottom:10px}

/* v3.4.2 employee allocation tables */
.employee-resource-editor,.employee-rights-editor{width:100%;overflow:hidden;margin-top:10px}
.employee-resource-editor+.employee-resource-editor{margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.allocation-table-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}.allocation-table-title strong{font-size:12px;color:#17233a}.allocation-table-title span{font-size:9px;color:#7f8b9e}
.employee-resource-table{min-width:1760px}.employee-resource-table th:first-child,.employee-resource-table td:first-child,.employee-rights-table th:first-child,.employee-rights-table td:first-child{width:46px;text-align:center}.employee-resource-table input,.employee-resource-table select{min-width:120px}.employee-resource-table td:nth-child(2) select{min-width:210px}.employee-resource-table td:nth-child(3) input{min-width:145px}.employee-resource-table td:nth-child(4) input{min-width:145px}.employee-resource-table td:nth-child(5) input{min-width:160px}.employee-resource-table td:nth-child(6) input{min-width:145px}.employee-resource-table td:nth-child(7) input{min-width:145px}.employee-resource-table td:nth-child(10) input{min-width:220px}
.employee-rights-table{min-width:1530px}.employee-rights-table td:nth-child(3) input{min-width:200px}.employee-rights-table td:nth-child(5) input{min-width:220px}.employee-rights-table td:nth-child(6) input,.employee-rights-table td:nth-child(7) input{min-width:145px}.employee-rights-table td:nth-child(5) input{margin-bottom:0}
.row-number{font-weight:800;color:#7b8798}.profile-allocation-heading{margin:18px 0 8px;font-size:12px}.profile-allocation-heading:first-of-type{margin-top:4px}.profile-allocation-table{min-width:1280px}
@media(max-width:760px){.allocation-table-title{align-items:flex-start;flex-direction:column;gap:3px}.employee-resource-table{min-width:1650px}.employee-rights-table{min-width:1460px}}


/* v3.4.4 Site Master GST + multiple contact persons */
.site-form-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:14px;margin-top:2px}.site-form-section-title strong{font-size:12px;color:#17233a}.site-form-section-title span{font-size:10px;color:var(--muted)}
.site-contacts-editor{width:100%;overflow:hidden;margin-top:4px;border-top:1px solid var(--line);padding-top:14px}.site-contacts-table{min-width:1180px}.site-contacts-table th:first-child,.site-contacts-table td:first-child{width:46px;text-align:center}.site-contacts-table td:nth-child(2) input{min-width:190px}.site-contacts-table td:nth-child(3) input{min-width:180px}.site-contacts-table td:nth-child(4) input{min-width:150px}.site-contacts-table td:nth-child(5) input{min-width:220px}.site-contacts-table td:nth-child(6) input{min-width:240px}
@media(max-width:760px){.site-form-section-title{align-items:flex-start;flex-direction:column;gap:3px}.site-contacts-table{min-width:1120px}}

/* v3.5.0 visual CAPTCHA, sequential Admin layout, queue/email customization */
.captcha-visual{display:flex;align-items:center;gap:10px;margin:7px 0 9px;flex-wrap:wrap}.captcha-visual img{display:block;width:min(300px,100%);height:auto;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;box-shadow:inset 0 0 0 1px #fff}.captcha-reload{font-size:11px;font-weight:800;color:#b91c1c;text-decoration:none;white-space:nowrap}.captcha-reload:hover{text-decoration:underline}
.admin-sequence{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}.admin-sequence>.card{margin:0}
.email-rule-list{display:grid;gap:12px;margin-top:14px}.email-rule-row{display:grid;grid-template-columns:minmax(190px,.7fr) minmax(260px,1fr) minmax(360px,1.4fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfe}.email-rule-row>label{display:grid;gap:6px;min-width:0}.email-rule-row .span2{grid-column:auto}.email-rule-head{display:grid;gap:4px;align-self:stretch;align-content:center}.email-rule-head strong{font-size:12px}.email-rule-head small{color:var(--muted);font-size:9px}.email-rule-head .check{margin-bottom:3px}.email-rule-row textarea{min-height:110px;resize:vertical}.queue-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.queue-stats .statline{border:1px solid var(--line);border-radius:10px;padding:12px;background:#f8fafc}.queue-stats .statline strong{font-size:18px}.login-announcement{margin:16px 18px 0;padding:15px 17px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}.login-announcement strong{display:block;font-size:14px;margin-bottom:5px}.login-announcement p{margin:0;white-space:normal;line-height:1.55;font-size:12px}.login-announcement.warning{border-color:#f1c66b;background:#fff8e7}.login-announcement.success{border-color:#86d7b1;background:#f0fbf6}.security-notice{width:min(1200px,calc(100vw - 32px))!important;max-width:1200px!important}.login-notice-actions{padding:0 18px 18px}.resolve-dialog{width:min(1040px,94vw)!important;max-width:1040px!important}
@media(min-width:1200px){dialog:not(.resolve-dialog):not(.security-notice){inline-size:min(1480px,calc(100vw - 56px))!important;width:min(1480px,calc(100vw - 56px))!important;max-width:1480px!important}}
@media(max-width:1100px){.email-rule-row{grid-template-columns:1fr 1fr}.email-rule-row .span2{grid-column:1/-1}.email-rule-row>button{justify-self:start}.queue-stats{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:700px){.captcha-visual{align-items:flex-start;flex-direction:column}.email-rule-row{grid-template-columns:1fr}.email-rule-row .span2{grid-column:1}.queue-stats{grid-template-columns:1fr}.security-notice{width:calc(100vw - 16px)!important;max-width:none!important}.login-announcement{margin:10px 12px 0}}
