
:root{--kz-sidebar:#343A40;--kz-sidebar-hover:#454D55;--kz-primary:#16865C;--kz-primary-dark:#116B49;--kz-soft:#EAF5F0;--kz-bg:#F5F7F9;--kz-border:#DEE2E6;--kz-text:#212529;--kz-muted:#6C757D;--kz-white:#fff;--kz-danger:#DC3545;--kz-warning:#F0AD24;--kz-info:#0D6EFD}
*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:"Century Gothic","Trebuchet MS",Arial,sans-serif;background:var(--kz-bg);color:var(--kz-text);font-size:14px}.kz-shell{display:flex;min-height:100vh}.kz-sidebar{width:270px;background:var(--kz-sidebar);color:#dce1e5;position:fixed;inset:0 auto 0 0;z-index:1030;transition:.25s;overflow-y:auto}.kz-brand{height:76px;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid rgba(255,255,255,.08)}.kz-brandmark,.kz-login-mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--kz-primary);color:#fff;font-size:20px}.kz-brand strong{display:block;color:#fff;font-size:17px;letter-spacing:1.4px}.kz-brand small{font-size:10px;color:#aeb6bd}.kz-sidebar nav{padding:14px 10px}.kz-sidebar nav a{color:#d7dde1;text-decoration:none;display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:8px;margin:3px 0;transition:.18s}.kz-sidebar nav a i:first-child{font-size:17px;width:22px}.kz-sidebar nav a:hover,.kz-sidebar nav a.active{background:var(--kz-sidebar-hover);color:#fff}.kz-sidebar nav a.active{box-shadow:inset 3px 0 0 var(--kz-primary)}.nav-caption{font-size:10px;letter-spacing:1.4px;color:#8f9aa3;padding:18px 14px 7px}.kz-main{margin-left:270px;min-width:0;width:calc(100% - 270px);transition:.25s}.kz-topbar{height:64px;background:#fff;border-bottom:1px solid var(--kz-border);display:flex;align-items:center;padding:0 24px;position:sticky;top:0;z-index:1020}.kz-top-title{font-weight:700;margin-left:12px}.kz-icon-btn{border:0;background:transparent;width:38px;height:38px;border-radius:9px;color:#53606a}.kz-icon-btn:hover{background:#f0f2f3}.kz-dot{position:absolute;width:7px;height:7px;background:var(--kz-danger);border-radius:50%;top:7px;right:8px}.kz-profile{border:0;background:transparent;display:flex;align-items:center;gap:9px}.avatar{width:34px;height:34px;border-radius:50%;background:var(--kz-soft);color:var(--kz-primary);display:grid;place-items:center}.kz-content{padding:26px}.kz-lang{display:flex;align-items:center;gap:6px}.kz-lang button{border:0;background:transparent;font-size:11px;font-weight:700;color:#8b9399;padding:4px}.kz-lang button.active{color:var(--kz-primary)}.kz-lang span{height:13px;width:1px;background:#ccd1d5}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head h1{font-size:26px;font-weight:700;margin:5px 0}.page-head p{color:var(--kz-muted);margin:0}.breadcrumb-lite{font-size:11px;color:#8a939a}.kz-btn-primary{background:var(--kz-primary)!important;border-color:var(--kz-primary)!important;color:#fff!important;border-radius:8px;font-weight:600}.kz-btn-primary:hover{background:var(--kz-primary-dark)!important}.kpi-card,.panel-card{background:#fff;border:1px solid #e6eaed;border-radius:12px;box-shadow:0 3px 14px rgba(24,35,45,.045)}.kpi-card{padding:19px;display:flex;gap:15px;align-items:center}.kpi-icon{width:48px;height:48px;border-radius:12px;background:var(--kz-soft);color:var(--kz-primary);display:grid;place-items:center;font-size:20px}.kpi-card span,.kpi-card small{display:block;color:var(--kz-muted)}.kpi-card strong{display:block;font-size:25px;line-height:1.2;margin:2px 0}.kpi-card small b{color:var(--kz-primary)}.panel-card{padding:20px}.panel-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.panel-head h3{font-size:16px;font-weight:700;margin:0 0 4px}.panel-head p{font-size:12px;color:var(--kz-muted);margin:0}.soft-badge{background:var(--kz-soft);color:var(--kz-primary);padding:6px 9px;border-radius:20px;font-size:10px;font-weight:700}.placeholder-chart{height:270px;display:grid;place-items:center;background:linear-gradient(180deg,#fff,#fbfcfc);margin-top:18px;border:1px dashed #d9e0e3;border-radius:10px;text-align:center;color:var(--kz-muted)}.placeholder-chart div{display:grid;gap:8px}.placeholder-chart i{font-size:40px;color:var(--kz-primary)}.placeholder-chart strong{color:var(--kz-text)}.quick-actions{display:grid;gap:9px;margin-top:16px}.quick-actions button{border:1px solid #e7ebed;background:#fff;border-radius:9px;padding:13px;display:flex;align-items:center;gap:12px;text-align:left}.quick-actions button i:first-child{color:var(--kz-primary);font-size:17px}.quick-actions button i:last-child{margin-left:auto;color:#9aa2a8}.quick-actions button:hover{background:var(--kz-soft);border-color:#cfe6db}.workspace-welcome{display:flex;gap:20px;align-items:center}.workspace-logo{width:76px;height:76px;border-radius:14px;background:var(--kz-soft);display:grid;place-items:center;color:var(--kz-primary);font-size:28px}.workspace-logo img{max-width:60px;max-height:60px}.login-body{background:#fff}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(440px,.85fr)}.login-visual{background-size:cover;background-position:center;display:flex;align-items:flex-end;color:#fff;position:relative;overflow:hidden}.login-visual:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-110px;top:-120px}.login-visual-inner{position:relative;z-index:1;max-width:720px;padding:8vw}.login-visual h1{font-size:clamp(38px,5vw,68px);font-weight:700;margin:18px 0}.login-visual p{font-size:18px;line-height:1.7;max-width:620px;color:rgba(255,255,255,.88)}.login-badge{display:inline-flex;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:8px 12px;border-radius:30px;font-size:12px}.feature-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.feature-pills span{padding:8px 12px;background:rgba(0,0,0,.18);border-radius:8px}.login-panel{display:flex;flex-direction:column;position:relative;background:#fff}.login-panel-top{display:flex;justify-content:flex-end;padding:25px 35px}.login-card{width:min(430px,calc(100% - 48px));margin:auto}.login-logo{display:flex;justify-content:center;margin-bottom:22px}.login-logo img{max-width:160px;max-height:80px}.login-card h2{font-weight:700;font-size:28px}.login-card p{color:var(--kz-muted)}.form-label{font-size:12px;font-weight:700}.kz-input{border:1px solid #dfe4e7;border-radius:9px;overflow:hidden}.kz-input:focus-within{border-color:var(--kz-primary);box-shadow:0 0 0 3px rgba(22,134,92,.10)}.kz-input .input-group-text,.kz-input .form-control{border:0;background:#fff;padding:12px}.kz-input .form-control:focus{box-shadow:none}.field-error{color:var(--kz-danger);font-size:11px}.kz-validation-summary{color:var(--kz-danger);background:#fff1f2;border:1px solid #ffd6da;border-radius:8px;padding:10px;margin-bottom:14px}.kz-validation-summary:empty{display:none}.kz-link{color:var(--kz-primary);text-decoration:none;font-size:12px;font-weight:600}.login-support{display:flex;justify-content:center;gap:8px;color:var(--kz-muted);font-size:11px;margin-top:22px}.login-footer{text-align:center;padding:25px;color:#9aa2a8;font-size:10px}.kz-loader{position:fixed;inset:0;background:rgba(255,255,255,.08);z-index:99999;display:grid;place-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,visibility .16s ease}
.kz-loader.show,.kz-page-loading .kz-loader{opacity:1;visibility:visible;pointer-events:all}
.kz-dot-loader{position:relative;width:132px;height:132px;filter:drop-shadow(0 12px 20px rgba(0,0,0,.14))}
.kz-dot-loader:after{content:"";position:absolute;left:50%;bottom:-17px;width:58px;height:8px;transform:translateX(-50%);border-radius:50%;background:var(--kz-accent,#F58220);filter:blur(8px);opacity:.38;animation:kzGlow 1.25s ease-in-out infinite alternate}
.kz-dot-loader span{--angle:calc(var(--i) * 36deg);position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px;border-radius:50%;transform:rotate(var(--angle)) translateY(-52px);background:color-mix(in srgb,var(--kz-primary,#16865C) calc(25% + (var(--i) * 6%)),white);box-shadow:0 4px 12px rgba(0,0,0,.13);animation:kzDotPulse 1.05s linear infinite;animation-delay:calc(var(--i) * -0.105s)}
.kz-dot-loader span:nth-child(1),.kz-dot-loader span:nth-child(2){background:var(--kz-accent,#F58220)}
.kz-dot-loader span:nth-child(3){background:#fff}
@keyframes kzDotPulse{0%,20%{opacity:1;transform:rotate(var(--angle)) translateY(-52px) scale(1.28)}55%,100%{opacity:.34;transform:rotate(var(--angle)) translateY(-52px) scale(.78)}}
@keyframes kzGlow{to{opacity:.72;transform:translateX(-50%) scaleX(1.25)}}
@media (prefers-reduced-motion:reduce){.kz-dot-loader span,.kz-dot-loader:after{animation-duration:2.4s}}.status-page{min-height:100vh;display:grid;place-items:center;background:var(--kz-bg);padding:25px}.status-card{width:min(480px,100%);background:#fff;border-radius:16px;padding:45px;text-align:center;box-shadow:0 12px 45px rgba(0,0,0,.08)}.status-card>i{font-size:50px;color:var(--kz-primary)}.status-card h1{font-size:25px;margin-top:18px}.status-card p{color:var(--kz-muted);margin-bottom:25px}
body.sidebar-collapsed .kz-sidebar{transform:translateX(-100%)}body.sidebar-collapsed .kz-main{margin-left:0;width:100%}
@media(max-width:991px){.kz-sidebar{transform:translateX(-100%);box-shadow:8px 0 30px rgba(0,0,0,.18)}.kz-main{margin-left:0;width:100%}body.sidebar-open .kz-sidebar{transform:translateX(0)}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}.kz-content{padding:18px}.page-head{align-items:flex-start;flex-direction:column}.page-head .btn{width:100%}}@media(max-width:575px){.kz-topbar{padding:0 12px}.kz-content{padding:14px}.login-card{width:calc(100% - 34px)}.workspace-welcome{align-items:flex-start;flex-direction:column}}

.kz-modal{border:0;border-radius:14px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.18)}.kz-modal .modal-header{background:#fff;border-bottom:1px solid var(--kz-border);padding:17px 20px}.kz-modal .modal-header>div:first-child{display:flex;align-items:center;gap:11px}.modal-icon{width:36px;height:36px;border-radius:9px;background:var(--kz-soft);color:var(--kz-primary);display:grid;place-items:center}.kz-modal .modal-title{font-size:16px;font-weight:700;margin:0}.kz-modal .modal-body{padding:22px}

/* ============================================================
   KAIZEN GLOBAL TABLE + ACTION MENU STANDARD
   ============================================================ */
.kz-table-card{overflow:visible!important}
.kz-table-card .dataTables_wrapper,.kz-table-card .dataTables_scroll,.kz-table-card .dataTables_scrollBody{overflow:visible!important}
.kz-table-card table.dataTable{width:100%!important;margin:0!important}
.kz-table-card .dropdown{position:static}
.kz-action-menu{min-width:215px;width:max-content;max-width:280px;padding:7px;border:1px solid #e6eaec!important;border-radius:11px;z-index:1090}
.kz-action-menu .dropdown-item{display:flex;align-items:center;gap:9px;min-height:38px;padding:8px 10px;border-radius:7px;white-space:nowrap;font-size:11px}
.kz-action-menu .dropdown-item:hover{background:var(--kz-soft)}
.kz-action-menu .dropdown-item i{width:17px;margin:0;text-align:center;font-size:13px}
.kz-action-menu .dropdown-divider{margin:5px 0}
.kz-table-card .action-btn::after{display:none}
.kz-table-card .action-btn{min-width:42px;height:38px;display:inline-grid;place-items:center;border-radius:8px}
.kz-table-card .action-btn i{margin:0}

/* Footer */
.kz-main{min-height:100vh;display:flex;flex-direction:column}
.kz-content{flex:1}
.kz-footer{min-height:48px;border-top:1px solid var(--kz-border);background:#fff;color:#7b858c;display:flex;align-items:center;justify-content:center;gap:7px;padding:12px 20px;font-size:10px}
.kz-footer strong{color:var(--kz-primary);font-weight:700}.kz-footer-dot{color:#aab1b6}

/* Profile + password */
.kz-profile-menu{min-width:245px;padding:7px;border-radius:11px}
.kz-profile-menu .dropdown-item{border-radius:7px;padding:9px 10px;font-size:11px}
.profile-menu-head small,.profile-menu-head strong{display:block}.profile-menu-head small{font-size:9px;color:var(--kz-muted)}.profile-menu-head strong{font-size:11px;margin-top:2px;overflow:hidden;text-overflow:ellipsis}
.password-intro{display:flex;gap:12px;align-items:center;background:var(--kz-soft);padding:12px;border-radius:10px;margin-bottom:18px}
.password-intro>span{width:38px;height:38px;border-radius:9px;background:#fff;color:var(--kz-primary);display:grid;place-items:center;font-size:17px}
.password-intro strong,.password-intro small{display:block}.password-intro small{font-size:10px;color:var(--kz-muted);margin-top:2px}
.password-eye{border:0!important;background:#fff!important;color:#69747c!important}
.password-rule{display:flex;gap:7px;color:var(--kz-muted);font-size:10px;background:#fafbfb;border:1px solid var(--kz-border);padding:9px 10px;border-radius:8px}
.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:15px;border-top:1px solid var(--kz-border)}

/* Workspace expandable navigation standard */
.kz-nav-parent{width:100%;border:0;background:transparent;color:#dce2e5;display:flex;align-items:center;gap:14px;padding:12px 18px;border-radius:8px;text-align:left;font:inherit}
.kz-nav-parent:hover,.kz-nav-parent.active{background:#454e56;color:#fff}
.kz-nav-parent>i:first-child{width:20px;text-align:center;font-size:15px}
.kz-nav-parent .nav-chevron{font-size:10px;transition:transform .2s ease}
.kz-nav-parent[aria-expanded="true"] .nav-chevron{transform:rotate(180deg)}
.kz-submenu{padding:3px 0 5px 25px}
.kz-submenu a{min-height:38px!important;padding:9px 12px!important;font-size:11px!important;border-left:2px solid #566069;border-radius:0 7px 7px 0!important}
.kz-submenu a.active{border-left-color:var(--kz-primary);background:#454e56!important}
.kz-submenu a i{font-size:12px!important}

/* ================================================================
   KAIZEN GLOBAL FORM STANDARD
   Icons sit OUTSIDE controls on the left + red required indicators
   ================================================================ */
.kz-control-icon-wrap{
    width:100%;
    display:flex;
    align-items:stretch;
    gap:8px;
}
.kz-control-icon-wrap>.kz-field-icon{
    position:static;
    flex:0 0 42px;
    width:42px;
    min-height:38px;
    display:flex;
    align-items:center;
    justify-content:center;
    align-self:stretch;
    border:1px solid #dfe4e7;
    border-radius:9px;
    background:var(--kz-soft);
    color:var(--kz-primary);
    font-size:15px;
    line-height:1;
    pointer-events:none;
    transition:.18s ease;
}
.kz-control-icon-wrap>.form-control,
.kz-control-icon-wrap>.form-select{
    flex:1 1 auto;
    width:1%;
    min-width:0;
    padding-left:12px!important;
}
.kz-control-icon-wrap>textarea.form-control{padding-left:12px!important}
.kz-control-icon-wrap>.choices{
    flex:1 1 auto;
    width:1%;
    min-width:0;
    margin-bottom:0;
}
.kz-control-icon-wrap>.choices .choices__inner{padding-left:12px!important}
.kz-control-icon-wrap>.choices .choices__input{padding-left:8px!important}
.kz-control-icon-wrap>.choices.is-focused .choices__inner,
.kz-control-icon-wrap>.choices.is-open .choices__inner{
    border-color:var(--kz-primary)!important;
    box-shadow:0 0 0 3px rgba(22,134,92,.10)
}
.kz-control-icon-wrap:focus-within>.kz-field-icon{
    color:var(--kz-primary-dark);
    border-color:var(--kz-primary);
    background:#eef8f4;
}
.kz-required-star{color:var(--kz-danger)!important;font-weight:800;margin-left:3px}
.form-label .kz-required-star,label .kz-required-star{font-size:1.05em}
.kz-control-icon-wrap input[type="color"]{padding-left:.375rem!important}
@media(max-width:575.98px){
    .kz-control-icon-wrap{gap:7px}
    .kz-control-icon-wrap>.kz-field-icon{flex-basis:38px;width:38px}
}


/* Premium login */
.login-visual{min-height:100vh;background-size:cover;background-position:center;align-items:center;color:var(--kz-text)}
.login-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 34%,color-mix(in srgb,var(--kz-primary) 20%,transparent),transparent 28%),linear-gradient(120deg,transparent 52%,color-mix(in srgb,var(--kz-primary) 10%,transparent))}
.login-visual:after{width:520px;height:520px;border-color:color-mix(in srgb,var(--kz-primary) 22%,transparent);right:-100px;top:-160px}
.premium-login-copy{padding:clamp(45px,7vw,110px);max-width:760px;color:#17212b}
.premium-login-copy .login-badge{background:rgba(255,255,255,.68);border-color:rgba(255,255,255,.8);backdrop-filter:blur(10px);color:#34404a;font-weight:700;letter-spacing:.12em}
.premium-login-copy h1{font-size:clamp(42px,5vw,72px);line-height:1.02;margin:22px 0 18px}
.premium-login-copy h1 span,.premium-login-copy h1 strong{display:block}
.premium-login-copy h1 strong{color:var(--kz-accent);font-weight:700}
.premium-login-copy p{color:#46535e;font-size:18px;max-width:590px}
.login-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:30px;max-width:650px}
.login-feature-list>div{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.72);background:rgba(255,255,255,.62);backdrop-filter:blur(12px);border-radius:14px;box-shadow:0 8px 28px rgba(25,40,50,.06)}
.login-feature-list i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--kz-primary);color:#fff;font-size:17px;flex:0 0 40px}
.login-feature-list>div:nth-child(even) i{background:var(--kz-accent)}
.login-feature-list span,.login-feature-list b,.login-feature-list small{display:block}
.login-feature-list b{font-size:12px;color:#17212b}
.login-feature-list small{font-size:10px;color:#6c757d;margin-top:2px}
.login-panel{box-shadow:-20px 0 55px rgba(20,32,42,.06)}
@media(max-width:991.98px){.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{min-height:100vh}.login-feature-list{grid-template-columns:1fr}}


/* =========================================================
   KAIZEN PREMIUM LOGIN - RESPONSIVE DESKTOP / TABLET / MOBILE
   ========================================================= */
.login-body{margin:0;min-height:100vh;overflow-x:hidden}

.kz-login-screen{
 position:relative;width:100%;min-height:100svh;
 display:grid;place-items:center;
 padding:72px 24px 54px;
 background-size:cover;background-position:center;background-repeat:no-repeat;
 isolation:isolate;overflow:auto
}
.kz-login-screen:before{
 content:"";position:absolute;inset:0;z-index:-1;
 background:
  linear-gradient(110deg,rgba(8,20,27,.22),rgba(8,20,27,.06)),
  radial-gradient(circle at 18% 20%,color-mix(in srgb,var(--kz-primary) 22%,transparent),transparent 34%),
  radial-gradient(circle at 84% 80%,color-mix(in srgb,var(--kz-accent) 13%,transparent),transparent 30%);
 pointer-events:none
}
.kz-login-language{
 position:fixed;z-index:20;right:26px;top:22px;
 padding:9px 14px;border:1px solid rgba(255,255,255,.62);border-radius:999px;
 background:rgba(255,255,255,.88);backdrop-filter:blur(14px);
 box-shadow:0 8px 28px rgba(12,25,34,.10)
}
.kz-login-card-shell{
 position:relative;z-index:2;
 width:100%;max-width:560px;
 border:1px solid rgba(255,255,255,.72);
 border-radius:32px;
 background:rgba(248,253,251,.96);
 box-shadow:0 28px 75px rgba(9,24,34,.24);
 overflow:hidden
}
.kz-login-card-accent{
 height:6px;background:linear-gradient(90deg,var(--kz-primary),var(--kz-accent),var(--kz-primary))
}
.kz-login-card-content{padding:34px 42px 25px}
.kz-login-brand{text-align:center;margin-bottom:25px}
.kz-login-logo-box{
 width:72px;height:72px;margin:0 auto 12px;border-radius:21px;
 display:grid;place-items:center;overflow:hidden;
 background:linear-gradient(145deg,var(--kz-primary),var(--kz-primary-dark));
 border-bottom:4px solid var(--kz-accent);
 box-shadow:0 10px 25px color-mix(in srgb,var(--kz-primary) 24%,transparent)
}
.kz-login-logo-box img{max-width:84%;max-height:84%;object-fit:contain}
.kz-login-logo-box .kz-login-mark{
 width:100%;height:100%;display:grid;place-items:center;
 background:transparent;color:#fff;font-size:29px
}
.kz-login-brand-name{
 margin-bottom:10px;color:var(--kz-primary);font-size:18px;line-height:1.15;
 font-weight:800;letter-spacing:.09em;text-transform:uppercase
}
.kz-login-brand h1{margin:0 0 5px;color:#17212b;font-size:29px;line-height:1.2;font-weight:800}
.kz-login-brand p{margin:0;color:#6d7883;font-size:13px;line-height:1.5}

.kz-login-form{display:grid;gap:15px}
.kz-login-field label{
 display:block;margin:0 0 7px 5px;color:#34404a;font-size:12px;font-weight:700
}
.kz-login-control{
 height:57px;display:flex;align-items:center;overflow:hidden;
 border:1px solid color-mix(in srgb,var(--kz-primary) 24%,#d8dee4);
 border-radius:17px;background:#fff;
 transition:border-color .2s,box-shadow .2s,transform .2s
}
.kz-login-control:focus-within{
 border-color:var(--kz-primary);
 box-shadow:0 0 0 4px color-mix(in srgb,var(--kz-primary) 11%,transparent);
 transform:translateY(-1px)
}
.kz-login-control>i{
 width:55px;flex:0 0 55px;text-align:center;
 color:var(--kz-accent);font-size:18px
}
.kz-login-control input{
 width:100%;height:100%;min-width:0;padding:0 12px 0 0;
 border:0;outline:0;background:transparent;color:#26323d;
 font:inherit;font-size:15px
}
.kz-login-control input::placeholder{color:#98a1aa}
.kz-password-toggle{
 width:52px;flex:0 0 52px;height:100%;
 border:0;background:transparent;color:var(--kz-primary);font-size:17px
}
.kz-login-options{
 display:flex;align-items:center;justify-content:space-between;
 gap:16px;font-size:12px
}
.kz-login-options .form-check{margin:0}
.kz-login-options .form-check-input:checked{background-color:var(--kz-primary);border-color:var(--kz-primary)}
.kz-login-link{color:var(--kz-primary);font-weight:700;text-decoration:none;white-space:nowrap}
.kz-login-link i{color:var(--kz-accent);margin-right:4px}
.kz-login-link:hover{color:var(--kz-accent)}
.kz-login-submit{
 height:58px;border:0;border-radius:17px;
 background:linear-gradient(110deg,var(--kz-primary),color-mix(in srgb,var(--kz-primary) 76%,var(--kz-accent)));
 color:#fff;font-size:15px;font-weight:800;
 box-shadow:0 12px 26px color-mix(in srgb,var(--kz-primary) 23%,transparent);
 transition:transform .2s,box-shadow .2s
}
.kz-login-submit:hover{transform:translateY(-2px);box-shadow:0 17px 32px color-mix(in srgb,var(--kz-primary) 30%,transparent)}
.kz-login-submit i{margin-right:9px}
.kz-login-support{
 display:flex;align-items:center;justify-content:center;gap:7px;
 margin-top:16px;color:#5e6974;font-size:10px;text-align:center
}
.kz-login-support i{color:var(--kz-accent)}
.kz-login-divider{
 height:1px;margin:16px 0 11px;
 background:linear-gradient(90deg,transparent,#dfe4e8,transparent)
}
.kz-login-card-footer{
 display:flex;align-items:center;justify-content:space-between;
 gap:15px;color:#818a92;font-size:10px
}
.kz-login-card-footer i{color:var(--kz-primary)}
.kz-login-powered{
 position:fixed;z-index:10;left:50%;bottom:14px;transform:translateX(-50%);
 padding:7px 14px;border:1px solid rgba(255,255,255,.55);border-radius:999px;
 background:rgba(255,255,255,.86);backdrop-filter:blur(12px);
 box-shadow:0 6px 20px rgba(10,25,35,.07);
 color:#69737c;font-size:10px;white-space:nowrap
}
.kz-login-powered strong{color:var(--kz-primary)}
.field-error{display:block;margin:5px 0 0 6px;color:#dc3545;font-size:10px}
.kz-validation-summary{color:#dc3545;font-size:11px}

/* Normal laptops and short desktop screens: keep the card professional,
   only reduce vertical spacing enough to fit. */
@media (min-width:901px) and (max-height:780px){
 .kz-login-screen{padding-top:28px;padding-bottom:42px}
 .kz-login-card-shell{max-width:530px}
 .kz-login-card-content{padding:24px 38px 19px}
 .kz-login-brand{margin-bottom:16px}
 .kz-login-logo-box{width:60px;height:60px;margin-bottom:8px}
 .kz-login-brand-name{font-size:16px;margin-bottom:6px}
 .kz-login-brand h1{font-size:25px}
 .kz-login-form{gap:10px}
 .kz-login-control{height:49px}
 .kz-login-submit{height:50px}
 .kz-login-support{margin-top:10px}
 .kz-login-divider{margin:10px 0 8px}
}

/* Tablet: retain a centered card, but use the available screen width. */
@media (min-width:641px) and (max-width:900px){
 .kz-login-screen{padding:76px 28px 56px}
 .kz-login-card-shell{max-width:540px;border-radius:30px}
 .kz-login-card-content{padding:32px 36px 24px}
 .kz-login-language{right:20px;top:18px}
}

/* Mobile: this is intentionally a different composition, not a shrunken desktop card. */
@media (max-width:640px){
 .login-body{background:var(--kz-primary)}
 .kz-login-screen{
  min-height:100svh;display:flex;flex-direction:column;justify-content:center;
  padding:76px 16px 24px;background-position:center;background-attachment:scroll
 }
 .kz-login-screen:before{
  background:
   linear-gradient(180deg,rgba(8,20,27,.18),rgba(8,20,27,.08)),
   radial-gradient(circle at 20% 12%,color-mix(in srgb,var(--kz-primary) 20%,transparent),transparent 34%)
 }
 .kz-login-language{position:absolute;right:14px;top:14px;padding:7px 11px}
 .kz-login-card-shell{
  width:100%;max-width:480px;margin:auto;
  border-radius:26px;box-shadow:0 20px 50px rgba(9,24,34,.24)
 }
 .kz-login-card-accent{height:5px}
 .kz-login-card-content{padding:27px 20px 21px}
 .kz-login-brand{margin-bottom:21px}
 .kz-login-logo-box{width:62px;height:62px;border-radius:18px;margin-bottom:9px}
 .kz-login-brand-name{font-size:16px;margin-bottom:8px}
 .kz-login-brand h1{font-size:25px}
 .kz-login-brand p{font-size:12px}
 .kz-login-form{gap:14px}
 .kz-login-control{height:54px;border-radius:15px}
 .kz-login-control>i{width:49px;flex-basis:49px;font-size:17px}
 .kz-login-control input{font-size:14px}
 .kz-password-toggle{width:48px;flex-basis:48px}
 .kz-login-options{gap:12px;font-size:11px}
 .kz-login-submit{height:55px;border-radius:15px;font-size:14px}
 .kz-login-card-footer{font-size:9px}
 .kz-login-powered{
  position:static;transform:none;align-self:center;
  margin:13px auto 0;background:rgba(255,255,255,.90)
 }
}

/* Narrow phones: stack only the options; controls remain comfortably sized. */
@media (max-width:420px){
 .kz-login-screen{padding-left:12px;padding-right:12px}
 .kz-login-card-content{padding:24px 17px 19px}
 .kz-login-options{align-items:flex-start;flex-direction:column}
 .kz-login-link{align-self:flex-end}
 .kz-login-card-footer{flex-direction:column;gap:5px;text-align:center}
}

/* Very short phones / landscape phones. */
@media (max-width:640px) and (max-height:700px){
 .kz-login-screen{justify-content:flex-start;padding-top:62px}
 .kz-login-card-content{padding-top:20px;padding-bottom:17px}
 .kz-login-brand{margin-bottom:14px}
 .kz-login-logo-box{width:52px;height:52px;margin-bottom:6px}
 .kz-login-brand-name{font-size:14px;margin-bottom:4px}
 .kz-login-brand h1{font-size:22px}
 .kz-login-form{gap:9px}
 .kz-login-control{height:48px}
 .kz-login-submit{height:49px}
 .kz-login-divider{margin:9px 0 7px}
}

