
:root{--navy:#061c49;--navy-light:#0b3778;--blue:#087df0;--blue2:#2936ef;--orange:#ff7418;--text:#10203d;--muted:#68758d;--line:#d8e3ef}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text)}
body{min-height:100dvh;background:#f4f9ff}
button,input{font:inherit}
.dhm-auth-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(390px,42%) 1fr;overflow:hidden}
.dhm-auth-brand{position:relative;display:flex;align-items:center;padding:clamp(40px,5vw,84px);color:#fff;overflow:hidden;background:radial-gradient(circle at 8% 0,rgba(255,113,29,.58),transparent 28%),radial-gradient(circle at 75% 72%,rgba(0,124,255,.23),transparent 27%),linear-gradient(145deg,#0a3779 0%,#061d4c 57%,#020d28 100%)}
.dhm-auth-brand:after{content:"";position:absolute;right:-18%;top:-10%;width:35%;height:120%;background:#f4f9ff;transform:skewX(-8deg);border-radius:50% 0 0 50%/18% 0 0 18%}
.dhm-brand-content{position:relative;z-index:2;width:min(480px,100%)}
.dhm-brand-logo{display:block;width:min(340px,82%);height:auto;filter:drop-shadow(0 10px 23px rgba(0,0,0,.18))}
.dhm-brand-hero{margin-top:clamp(62px,10vh,124px)}
.dhm-brand-hero h1{margin:0 0 20px;font-size:clamp(42px,4.3vw,72px);line-height:.98;letter-spacing:-2.3px}
.dhm-brand-hero h1 span{color:var(--orange)}
.dhm-brand-hero p{margin:0;font-size:clamp(20px,2vw,29px);line-height:1.45}
.dhm-brand-hero:after{content:"";display:block;width:70px;height:4px;border-radius:4px;background:#16a5ff;margin-top:28px}
.dhm-brand-features{display:grid;gap:21px;margin-top:54px;max-width:420px}
.dhm-brand-features>div{display:flex;align-items:center;gap:17px}
.dhm-feature-icon{width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;border-radius:50%;font-size:25px;background:rgba(11,116,244,.23);border:1px solid rgba(255,255,255,.07)}
.dhm-brand-features p{margin:0}.dhm-brand-features strong,.dhm-brand-features small{display:block}.dhm-brand-features strong{font-size:15px}.dhm-brand-features small{margin-top:4px;opacity:.76;line-height:1.4}
.dhm-deco{position:absolute;border-radius:50%;z-index:1}.dhm-deco-one{width:250px;height:250px;right:0;bottom:-150px;background:radial-gradient(circle at 30% 30%,#ff9c4e,#f45124 40%,#143caf 71%,transparent 72%);opacity:.78}.dhm-deco-two{width:26px;height:26px;right:24%;top:58%;background:#1178ed;opacity:.7}
.dhm-auth-main{position:relative;display:grid;place-items:center;padding:clamp(28px,6vw,88px);background:radial-gradient(circle at 48% 43%,#fff 0,#f9fcff 50%,#e9f3ff 100%)}
.dhm-auth-card{width:min(520px,100%);padding:clamp(34px,4vw,58px);background:rgba(255,255,255,.97);border:1px solid rgba(201,216,234,.84);border-radius:25px;box-shadow:0 25px 75px rgba(30,69,113,.16)}
.dhm-card-logo{display:block;width:min(265px,72%);height:auto;margin:0 auto 32px}
.dhm-auth-heading{text-align:center}.dhm-eyebrow{display:inline-block;margin-bottom:9px;color:#1578e7;font-size:11px;font-weight:800;letter-spacing:1.6px}.dhm-auth-heading h2{margin:0;font-size:clamp(27px,2.1vw,35px);letter-spacing:-.7px}.dhm-auth-heading p{margin:10px 0 32px;color:var(--muted);line-height:1.5}
.dhm-auth-alert{padding:12px 14px;margin:0 0 20px;border:1px solid #f0b6b6;background:#fff2f2;color:#9f3030;border-radius:10px;font-size:14px}
.dhm-auth-form label{display:block;margin:19px 0 8px;font-size:14px;font-weight:750}
.dhm-input-wrap{height:59px;display:flex;align-items:center;border:1px solid #ccd9e8;border-radius:12px;background:#fff;transition:border .18s,box-shadow .18s}
.dhm-input-wrap:focus-within{border-color:#147cf1;box-shadow:0 0 0 4px rgba(20,124,241,.1)}
.dhm-input-icon{width:49px;text-align:center;color:#7b8ca4}
.dhm-input-wrap input{height:100%;min-width:0;flex:1;border:0;outline:0;background:transparent;color:#14233d;font-size:16px;padding-right:10px}
.dhm-input-wrap input::placeholder{color:#a1adbd}
.dhm-password-toggle{width:49px;height:42px;margin-right:5px;border:0;border-radius:9px;background:transparent;color:#6e7e95;cursor:pointer}
.dhm-password-toggle:hover{background:#f1f6fc}
.dhm-caps-warning{margin-top:8px;padding:9px 11px;border:1px solid #efd591;border-radius:8px;background:#fff7dd;color:#895a04;font-size:13px}
.dhm-login-btn{width:100%;height:59px;margin-top:28px;border:0;border-radius:12px;background:linear-gradient(100deg,var(--blue),var(--blue2));color:#fff;font-weight:800;font-size:16px;cursor:pointer;box-shadow:0 11px 28px rgba(27,76,226,.23);transition:transform .15s,box-shadow .15s,opacity .15s}
.dhm-login-btn:hover{transform:translateY(-1px);box-shadow:0 15px 34px rgba(27,76,226,.29)}.dhm-login-btn:disabled{opacity:.72;cursor:wait;transform:none}
.dhm-btn-icon{margin-right:7px}
.dhm-auth-security{display:flex;align-items:center;gap:11px;margin-top:26px;padding:14px 16px;border-radius:12px;background:#f4f8ff;color:#53637b}
.dhm-auth-security>span{color:#1478ed;font-size:21px}.dhm-auth-security p{margin:0}.dhm-auth-security strong,.dhm-auth-security small{display:block}.dhm-auth-security strong{font-size:13px}.dhm-auth-security small{margin-top:3px;color:#7a879b;line-height:1.4}
.dhm-auth-bottom{display:flex;justify-content:center;gap:8px;margin-top:23px;color:#8a96a8;font-size:12px}.dhm-auth-bottom a{color:#68809e;text-decoration:none}.dhm-auth-bottom a:hover{text-decoration:underline}
.dhm-code-input{width:100%;height:70px;border:1px solid #ccd9e8;border-radius:12px;outline:0;text-align:center;font-size:32px;font-weight:750;letter-spacing:12px;padding-left:12px;color:#12305d;background:#fff}.dhm-code-input:focus{border-color:#147cf1;box-shadow:0 0 0 4px rgba(20,124,241,.1)}
.dhm-back-link{display:block;text-align:center;margin-top:22px;color:#2c6fc1;text-decoration:none;font-size:14px}.dhm-back-link:hover{text-decoration:underline}
@media(max-width:1050px){.dhm-auth-shell{grid-template-columns:38% 62%}.dhm-auth-brand{padding:36px}.dhm-auth-brand:after{display:none}.dhm-brand-features small{display:none}}
@media(max-width:760px){
 .dhm-auth-shell{display:block;min-height:100dvh;padding:max(18px,env(safe-area-inset-top)) 15px max(18px,env(safe-area-inset-bottom));background:linear-gradient(165deg,#0a3779 0,#061d4b 34%,#f4f9ff 34.2%,#f4f9ff 100%)}
 .dhm-auth-brand{display:block;min-height:0;padding:10px 8px 26px;background:transparent;text-align:center;overflow:visible}
 .dhm-brand-content{margin:auto}.dhm-brand-logo{width:min(240px,67vw);margin:auto}.dhm-brand-hero,.dhm-brand-features,.dhm-deco{display:none}
 .dhm-auth-main{display:block;padding:0;background:transparent}
 .dhm-auth-card{margin:0 auto;padding:29px 22px 25px;border-radius:20px;box-shadow:0 20px 52px rgba(4,31,74,.18)}
 .dhm-card-logo{display:none}.dhm-auth-heading h2{font-size:27px}.dhm-auth-heading p{font-size:14px;margin-bottom:25px}
 .dhm-input-wrap,.dhm-login-btn{height:56px}.dhm-code-input{height:64px;font-size:29px}
}
@media(max-width:390px){.dhm-auth-shell{padding-left:10px;padding-right:10px}.dhm-auth-card{padding:25px 17px}.dhm-auth-heading h2{font-size:24px}.dhm-code-input{letter-spacing:9px}}
@media(orientation:landscape) and (max-height:600px) and (max-width:1000px){
 .dhm-auth-shell{display:grid;grid-template-columns:35% 65%;padding:0;background:#f4f9ff}
 .dhm-auth-brand{display:flex;min-height:100dvh;background:linear-gradient(145deg,#0a3779,#061d4b);padding:24px}
 .dhm-brand-logo{width:205px}.dhm-brand-hero{display:block;margin-top:42px;text-align:left}.dhm-brand-hero h1{font-size:34px;letter-spacing:-1px}.dhm-brand-hero p{font-size:16px}.dhm-brand-features{display:none}
 .dhm-auth-main{display:grid;padding:22px}.dhm-auth-card{padding:23px 30px}.dhm-card-logo{display:none}.dhm-auth-heading p{margin-bottom:16px}.dhm-input-wrap{height:49px}.dhm-login-btn{height:49px;margin-top:17px}.dhm-auth-security{margin-top:14px}.dhm-auth-bottom{margin-top:12px}
}


/* De Hart Mail 1.5.4 - login altijd passend zonder paginaschrol */
html,body{
  width:100%;
  height:100%;
  min-height:100%;
  overflow:hidden;
}
body{min-height:100%;height:100%}

.dhm-auth-shell{
  width:100%;
  height:100%;
  min-height:0;
  max-height:100%;
  overflow:hidden;
}

.dhm-auth-brand,
.dhm-auth-main{
  min-height:0;
  height:100%;
}

.dhm-auth-brand{
  padding:clamp(20px,4vh,58px) clamp(24px,4vw,70px);
}

.dhm-brand-logo{
  width:min(310px,72%);
  max-height:15vh;
  object-fit:contain;
}

.dhm-brand-hero{
  margin-top:clamp(22px,6vh,70px);
}
.dhm-brand-hero h1{
  font-size:clamp(32px,5.2vh,64px);
}
.dhm-brand-hero p{
  font-size:clamp(16px,2.3vh,25px);
}
.dhm-brand-hero:after{
  margin-top:clamp(14px,2.8vh,24px);
}
.dhm-brand-features{
  margin-top:clamp(20px,4vh,42px);
  gap:clamp(10px,2vh,18px);
}
.dhm-feature-icon{
  width:clamp(42px,5.6vh,52px);
  height:clamp(42px,5.6vh,52px);
  flex-basis:clamp(42px,5.6vh,52px);
}
.dhm-brand-features strong{font-size:clamp(13px,1.7vh,15px)}
.dhm-brand-features small{font-size:clamp(11px,1.45vh,13px)}

.dhm-auth-main{
  padding:clamp(14px,3vh,42px) clamp(18px,4vw,70px);
}

.dhm-auth-card{
  width:min(500px,100%);
  max-height:94%;
  overflow:hidden;
  padding:clamp(20px,3.5vh,44px) clamp(22px,3vw,46px);
  border-radius:clamp(16px,2.2vh,24px);
}

.dhm-card-logo{
  width:min(235px,62%);
  max-height:12vh;
  object-fit:contain;
  margin-bottom:clamp(12px,2.7vh,28px);
}

.dhm-eyebrow{margin-bottom:clamp(4px,1vh,8px)}
.dhm-auth-heading h2{
  font-size:clamp(23px,3.3vh,32px);
}
.dhm-auth-heading p{
  margin:clamp(6px,1.3vh,10px) 0 clamp(14px,2.8vh,28px);
  font-size:clamp(13px,1.75vh,15px);
}

.dhm-auth-form label{
  margin:clamp(10px,1.8vh,17px) 0 clamp(5px,1vh,8px);
  font-size:clamp(12px,1.7vh,14px);
}

.dhm-input-wrap{
  height:clamp(46px,6.6vh,57px);
}
.dhm-input-wrap input{
  font-size:16px;
}

.dhm-login-btn{
  height:clamp(47px,6.7vh,57px);
  margin-top:clamp(15px,2.8vh,25px);
}

.dhm-auth-security{
  margin-top:clamp(12px,2.3vh,22px);
  padding:clamp(9px,1.5vh,13px) 14px;
}
.dhm-auth-security small{font-size:clamp(10px,1.4vh,12px)}
.dhm-auth-bottom{
  margin-top:clamp(10px,1.8vh,19px);
}

.dhm-code-input{
  height:clamp(54px,8vh,68px);
}

/* Lage laptops / browser met veel balken */
@media (max-height:760px) and (min-width:761px){
  .dhm-brand-features small{display:none}
  .dhm-brand-features{gap:10px;margin-top:20px}
  .dhm-feature-icon{width:42px;height:42px;flex-basis:42px}
  .dhm-brand-hero{margin-top:28px}
  .dhm-brand-logo{max-height:12vh}
  .dhm-card-logo{max-height:9vh;margin-bottom:12px}
  .dhm-auth-card{padding-top:20px;padding-bottom:20px}
  .dhm-auth-security{margin-top:12px}
  .dhm-auth-bottom{margin-top:10px}
}

/* Zeer lage desktop/laptop schermen */
@media (max-height:650px) and (min-width:761px){
  .dhm-brand-features{display:none}
  .dhm-brand-hero{margin-top:22px}
  .dhm-brand-hero h1{font-size:34px}
  .dhm-brand-hero p{font-size:16px}
  .dhm-auth-main{padding-top:10px;padding-bottom:10px}
  .dhm-auth-card{padding:16px 28px}
  .dhm-card-logo{display:none}
  .dhm-auth-heading p{margin-bottom:12px}
  .dhm-auth-form label{margin-top:9px}
  .dhm-input-wrap{height:44px}
  .dhm-login-btn{height:45px;margin-top:13px}
  .dhm-auth-security{padding:8px 12px;margin-top:10px}
  .dhm-auth-bottom{margin-top:8px}
}

/* Telefoon/tablet portrait: nooit paginascroll */
@media(max-width:760px){
  html,body{height:100%;overflow:hidden}
  .dhm-auth-shell{
    height:100%;
    min-height:0;
    overflow:hidden;
    padding:max(8px,env(safe-area-inset-top)) 12px max(8px,env(safe-area-inset-bottom));
    display:flex;
    flex-direction:column;
  }
  .dhm-auth-brand{
    flex:0 0 auto;
    height:auto;
    padding:4px 6px clamp(8px,2vh,18px);
  }
  .dhm-brand-logo{
    width:min(210px,55vw);
    max-height:11vh;
  }
  .dhm-auth-main{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
  }
  .dhm-auth-card{
    max-height:100%;
    overflow:hidden;
    padding:clamp(16px,3vh,25px) 18px;
  }
  .dhm-auth-heading h2{font-size:clamp(21px,3.5vh,27px)}
  .dhm-auth-heading p{margin-bottom:clamp(11px,2vh,20px)}
  .dhm-auth-form label{margin-top:clamp(8px,1.6vh,14px)}
  .dhm-input-wrap{height:clamp(44px,6.7vh,54px)}
  .dhm-login-btn{height:clamp(45px,6.8vh,54px);margin-top:clamp(12px,2.3vh,20px)}
  .dhm-auth-security{margin-top:clamp(9px,1.7vh,16px)}
  .dhm-auth-bottom{margin-top:clamp(7px,1.4vh,14px)}
}

/* Kleine telefoons of browser met toetsenbord/werkbalken */
@media(max-width:760px) and (max-height:700px){
  .dhm-auth-brand{padding-bottom:6px}
  .dhm-brand-logo{max-height:8vh;width:min(180px,48vw)}
  .dhm-card-logo{display:none}
  .dhm-eyebrow{display:none}
  .dhm-auth-card{padding:14px 17px}
  .dhm-auth-heading h2{font-size:21px}
  .dhm-auth-heading p{margin:5px 0 10px;font-size:12px}
  .dhm-auth-form label{margin:7px 0 4px}
  .dhm-input-wrap{height:43px}
  .dhm-login-btn{height:44px;margin-top:10px}
  .dhm-auth-security{margin-top:8px;padding:7px 10px}
  .dhm-auth-security small{display:none}
  .dhm-auth-bottom{margin-top:6px}
}

/* Landscape telefoon/tablet */
@media(orientation:landscape) and (max-height:600px) and (max-width:1000px){
  html,body,.dhm-auth-shell{height:100%;overflow:hidden}
  .dhm-auth-shell{min-height:0}
  .dhm-auth-brand,.dhm-auth-main{height:100%;min-height:0}
  .dhm-auth-brand{padding:14px 22px}
  .dhm-brand-logo{width:180px;max-height:14vh}
  .dhm-brand-hero{margin-top:18px}
  .dhm-brand-hero h1{font-size:29px}
  .dhm-brand-hero p{font-size:14px}
  .dhm-brand-hero:after{margin-top:12px}
  .dhm-auth-main{padding:8px 18px}
  .dhm-auth-card{max-height:96%;padding:12px 24px}
  .dhm-auth-heading h2{font-size:22px}
  .dhm-auth-heading p{margin:4px 0 9px;font-size:12px}
  .dhm-auth-form label{margin:6px 0 3px}
  .dhm-input-wrap{height:40px}
  .dhm-login-btn{height:42px;margin-top:9px}
  .dhm-auth-security{margin-top:7px;padding:6px 10px}
  .dhm-auth-security small{display:none}
  .dhm-auth-bottom{margin-top:5px}
}

.security-check{display:flex;gap:9px;align-items:flex-start;color:#52627a;font-size:13px;margin:14px 0 0}.security-check input{width:18px;height:18px;flex:0 0 auto;margin-top:0}

/* De Hart Mail 1.6.1 */
.dhm-website-link{
  display:flex;align-items:center;justify-content:center;
  width:max-content;max-width:100%;margin:18px auto 0;
  color:#2b68b0;text-decoration:none;font-size:13px;font-weight:700;
  padding:8px 12px;border-radius:9px;transition:background .15s,color .15s
}
.dhm-website-link:hover{background:#edf5ff;color:#155caa}
@media(max-height:700px){.dhm-website-link{margin-top:8px;padding:5px 9px}}

/* 1.6.2 - snelle apparaat-PIN */
.quick-pin-card{margin:4px 0 18px;padding:17px;border:1px solid #cfe0f3;border-radius:14px;background:linear-gradient(145deg,#f8fbff,#eef6ff)}
.quick-pin-head{display:flex;align-items:center;gap:11px;margin-bottom:14px}.quick-pin-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:#147cf1;color:#fff;font-size:20px}.quick-pin-head strong,.quick-pin-head small{display:block}.quick-pin-head small{margin-top:2px;color:#718097;font-size:12px}
.quick-pin-form label{display:block;font-size:12px;font-weight:800;margin-bottom:6px}.quick-pin-row{display:grid;grid-template-columns:1fr auto;gap:8px}.quick-pin-row input{min-width:0;height:48px;border:1px solid #c5d4e6;border-radius:10px;padding:0 14px;font-size:22px;letter-spacing:5px;text-align:center;outline:0}.quick-pin-row input:focus{border-color:#147cf1;box-shadow:0 0 0 3px rgba(20,124,241,.1)}.quick-pin-row button{border:0;border-radius:10px;padding:0 16px;background:#147cf1;color:white;font-weight:800;cursor:pointer}.quick-pin-other{display:block;margin:10px auto 0;border:0;background:transparent;color:#2e6daf;font-size:12px;font-weight:700;cursor:pointer}
.device-pin-setup{margin:13px 0;padding:13px;border-radius:11px;background:#f1f7ff;border:1px solid #d5e5f6}.device-pin-setup strong{font-size:13px}.device-pin-setup p{font-size:12px;color:#68798f;margin:5px 0 10px}.device-pin-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.device-pin-fields input{min-width:0;height:43px;border:1px solid #c8d6e7;border-radius:9px;padding:0 10px;font-size:16px}.device-pin-setup.compact{margin-top:10px}
@media(max-width:480px){.quick-pin-row{grid-template-columns:1fr}.quick-pin-row button{height:45px}.device-pin-fields{grid-template-columns:1fr}}

/* 1.6.4 - uitleg Apparaat-PIN */
.quick-pin-label{display:flex!important;align-items:center;gap:7px}
.pin-help-btn{width:20px;height:20px;padding:0;border:1px solid #a9bfd9;border-radius:50%;background:#fff;color:#2169b8;font-size:12px;font-weight:900;line-height:18px;cursor:pointer;box-shadow:none}
.pin-help-btn:hover,.pin-help-btn:focus{background:#eaf4ff;border-color:#147cf1;outline:none}
.pin-help-popover{position:relative;margin:-2px 0 10px;padding:14px 15px;border:1px solid #c9dced;border-radius:11px;background:#fff;box-shadow:0 12px 30px rgba(30,70,115,.13);color:#465a73;font-size:12px;line-height:1.5}
.pin-help-popover strong{display:block;color:#183a62;font-size:13px;margin-bottom:5px}
.pin-help-popover p{margin:5px 0}.pin-help-popover button{margin-top:7px;border:0;border-radius:7px;background:#edf5ff;color:#1f66b3;padding:6px 10px;font-size:11px;font-weight:800;cursor:pointer}

/* 1.7.2 - grotere logo's op desktop login */
@media (min-width: 1024px) and (min-height: 700px){
  .dhm-auth-logo img,
  .dhm-login-logo img,
  .dhm-brand-logo img{
    transform:scale(1.14);
    transform-origin:center;
  }
  .dhm-auth-logo,
  .dhm-login-logo,
  .dhm-brand-logo{
    margin-top:4px;
    margin-bottom:8px;
  }
}

/* 1.7.3 - desktop logo duidelijk groter */
@media (min-width:1024px) and (min-height:700px){
  .dhm-brand-logo{
    width:min(510px,92%)!important;
    max-width:510px!important;
    max-height:none!important;
    transform:none!important;
  }
  .dhm-brand-content{
    width:100%;
  }
}

/* 1.7.4 - desktop login logo balans */
@media (min-width:1024px) and (min-height:700px){
  /* Groot logo links: ongeveer 25% groter dan de oorspronkelijke maat */
  .dhm-brand-logo{
    width:min(425px,88%)!important;
    max-width:425px!important;
    max-height:none!important;
    transform:none!important;
  }

  /* Logo boven het loginformulier rechts: iets groter */
  .dhm-card-logo{
    display:block!important;
    width:min(300px,78%)!important;
    max-width:300px!important;
    max-height:none!important;
    margin:0 auto 24px!important;
    transform:none!important;
  }
}

/* 1.7.5 - alleen bestaande desktop-loginlayout verfijnd */
@media (min-width:1024px) and (min-height:700px){
  /* beide bestaande logo's iets kleiner dan 1.7.4 */
  .dhm-brand-logo{
    width:min(390px,84%)!important;
    max-width:390px!important;
    max-height:none!important;
    transform:none!important;
  }
  .dhm-card-logo{
    display:block!important;
    width:min(270px,72%)!important;
    max-width:270px!important;
    max-height:none!important;
    margin:0 auto 12px!important;
    transform:none!important;
  }

  /* DE HART MAIL + Welkom terug + uitleg duidelijk verder omhoog */
  .dhm-auth-heading{
    position:relative;
    top:-32px;
    margin-bottom:-22px!important;
  }
  .dhm-auth-heading h2{
    margin-top:0!important;
  }
}

/* 1.7.6 - welkomsttekst desktop nog verder omhoog */
@media (min-width:1024px) and (min-height:700px){
  .dhm-auth-heading{
    top:-58px!important;
    margin-bottom:-48px!important;
  }
}

.dhm-auth-alert.success{background:#ebf8f1!important;border-color:#b9e5ce!important;color:#24714c!important}

/* 1.7.9 - beheer pincode / 30 dagen vertrouwen */
.admin-quick-pin{margin-top:2px}
.admin-trust-check{margin-top:16px!important}
#adminDevicePinSetup{margin-top:10px}
#adminDevicePinSetup p{margin:5px 0 10px;color:#68798f;font-size:12px}
#adminDevicePinSetup .device-pin-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#adminDevicePinSetup .device-pin-fields input{height:43px;min-width:0;border:1px solid #c8d6e7;border-radius:9px;padding:0 10px;font-size:16px}
@media(max-width:480px){#adminDevicePinSetup .device-pin-fields{grid-template-columns:1fr}}

/* 1.7.10 - pincode-instelling duidelijk zichtbaar bij beheer 30 dagen */
#adminDevicePinSetup{padding:14px!important;border:1px solid #b8d6f3!important;border-radius:12px!important;background:#f2f8ff!important}
#adminDevicePinSetup strong{display:block;color:#164f86}


/* 1.12.6 - werkende mobiele PIN-overlay op loginpagina */
@media(max-width:1100px){
  .quick-pin-row{
    display:block!important;
    position:relative!important;
  }
  .quick-pin-form #quickPin{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:52px!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    border:1px solid #cddae6!important;
    border-radius:13px!important;
    background:#f8fbfe!important;
    color:#173b5e!important;
    text-align:center!important;
    font-size:20px!important;
    letter-spacing:8px!important;
    font-weight:800!important;
    cursor:pointer!important;
    caret-color:transparent!important;
    -webkit-tap-highlight-color:rgba(23,111,197,.08)!important;
  }
  .quick-pin-form #quickPin::placeholder{
    color:#9aaaba!important;
    letter-spacing:7px!important;
  }
  .quick-pin-row > button[type="submit"],
  .quick-pin-row .desktop-pin-submit{
    display:none!important;
  }
  .quick-pin-row:after{
    content:"Tik op het vak om je pincode in te voeren";
    display:block;
    text-align:center;
    color:#7b8d9f;
    font-size:11px;
    line-height:1.4;
    margin-top:7px;
  }
}

.pin-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:none!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  padding:16px!important;
  background:rgba(11,27,45,.62)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
.pin-overlay.open{
  display:flex!important;
}
html.pin-modal-open,
body.pin-modal-open{
  overflow:hidden!important;
}
.pin-overlay-card{
  position:relative!important;
  z-index:2147483001!important;
  width:min(410px,100%)!important;
  max-height:calc(100dvh - 28px)!important;
  overflow-y:auto!important;
  box-sizing:border-box!important;
  padding:24px 18px 20px!important;
  border-radius:25px!important;
  background:#ffffff!important;
  box-shadow:0 30px 75px rgba(5,20,36,.38)!important;
  color:#173a5d!important;
}
.pin-overlay-close{
  position:absolute!important;
  top:12px!important;
  right:12px!important;
  width:auto!important;
  min-width:86px!important;
  height:40px!important;
  padding:0 12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  border:0!important;
  border-radius:12px!important;
  background:#eef3f8!important;
  color:#415f79!important;
  cursor:pointer!important;
}
.pin-overlay-close span{
  font-size:20px!important;
  line-height:1!important;
}
.pin-overlay-close b{
  font-size:11px!important;
  font-weight:850!important;
}
.pin-overlay-head{
  padding:15px 68px 0!important;
  text-align:center!important;
}
.pin-overlay-head strong{
  display:block!important;
  margin-bottom:7px!important;
  color:#153c62!important;
  font-size:21px!important;
  line-height:1.25!important;
}
.pin-overlay-head span{
  display:block!important;
  color:#718397!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.pin-overlay-display{
  display:flex!important;
  justify-content:center!important;
  gap:13px!important;
  margin:23px 0 20px!important;
}
.pin-overlay-dot{
  display:block!important;
  width:16px!important;
  height:16px!important;
  box-sizing:border-box!important;
  border:2px solid #adbdcb!important;
  border-radius:50%!important;
  background:#fff!important;
  transition:.12s ease!important;
}
.pin-overlay-dot.filled{
  border-color:#176fc5!important;
  background:#176fc5!important;
  transform:scale(1.08)!important;
}
.pin-overlay-keypad{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:11px!important;
  width:min(330px,100%)!important;
  margin:0 auto!important;
}
.pin-overlay-key{
  min-height:68px!important;
  border:1px solid #d5e0ea!important;
  border-radius:20px!important;
  background:#f7fafd!important;
  color:#173d63!important;
  font-size:26px!important;
  font-weight:800!important;
  cursor:pointer!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
.pin-overlay-key:active{
  background:#dcecff!important;
  transform:scale(.97)!important;
}
.pin-overlay-key.action{
  font-size:13px!important;
  color:#61778c!important;
}
.pin-overlay-submit{
  display:block!important;
  width:min(330px,100%)!important;
  min-height:50px!important;
  margin:14px auto 0!important;
  border:0!important;
  border-radius:15px!important;
  background:#176fc5!important;
  color:#fff!important;
  font-size:14px!important;
  font-weight:850!important;
  cursor:pointer!important;
}
.pin-overlay-submit:disabled{
  opacity:.4!important;
  cursor:not-allowed!important;
}
.pin-overlay-help{
  margin-top:12px!important;
  text-align:center!important;
  color:#8191a0!important;
  font-size:10px!important;
  line-height:1.4!important;
}
@media(min-width:1101px){
  .pin-overlay{display:none!important}
}
