/* ========================================
   GTS MEMBER AREA
   ======================================== */

:root{
  --member-blue:#307B94;
  --member-blue-dark:#29697f;
  --member-green:#3e9463;
  --member-text:#17212b;
  --member-muted:#687783;
  --member-border:rgba(20,40,60,.10);
  --appbar-h:70px;
}


/* ========================================
   PAGE / APP SHELL
   ======================================== */

html,
body{
  width:100%;
  height:100dvh;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#fff;
  font-family:'Inter',Arial,sans-serif;
}

#gts-app-shell{
  position:relative;

  width:100%;
  max-width:400px;

  height:100dvh;

  margin:0 auto;

  display:flex;
  flex-direction:column;

  overflow:hidden;

  background:
    linear-gradient(
      160deg,
      #fafbfc 0%,
      #f4f5f7 55%,
      #e9ebed 100%
    );
}


@media (pointer:coarse){

  #gts-app-shell{
    position:fixed;
    inset:0;

    width:100vw;
    max-width:100vw;
  }

}


#gts-main{
  position:relative;

  flex:1 1 auto;
  min-height:0;

  overflow-y:auto;
  overflow-x:hidden;

  -webkit-overflow-scrolling:touch;
}


#gts-appbar-wrap{
  flex:0 0 var(--appbar-h);
  height:var(--appbar-h);
}


/* ========================================
   CONTENT
   ======================================== */

#member-container{
  width:100%;

  padding:
    calc(22px + env(safe-area-inset-top))
    18px
    30px;

  color:var(--member-text);
}


/* ========================================
   HEADER
   ======================================== */

.member-header{
  margin:0 2px 26px;

  text-align:left;
}


.member-kicker{
  margin-bottom:6px;

  font-size:11px;
  font-weight:800;

  letter-spacing:1.3px;

  color:var(--member-blue);
}


.member-header h1,
.member-login h1{
  margin:0;

  font-size:27px;
  font-weight:800;
  line-height:1.15;

  color:var(--member-text);
}


.member-header p,
.member-login p{
  margin:8px 0 0;

  font-size:13px;
  font-weight:500;
  line-height:1.45;

  color:var(--member-muted);
}


/* ========================================
   MEMBER MENU
   ======================================== */

.member-menu{
  display:flex;
  flex-direction:column;

  gap:10px;
}


.member-card{
  width:100%;
  min-height:76px;

  display:flex;
  align-items:center;

  gap:13px;

  padding:12px 14px;

  background:rgba(255,255,255,.94);

  border:1px solid var(--member-border);
  border-radius:15px;

  box-shadow:
    0 7px 18px rgba(20,40,60,.07),
    0 1px 3px rgba(20,40,60,.06);

  text-decoration:none;

  color:var(--member-text);
}


.member-card-icon{
  flex:0 0 46px;

  width:46px;
  height:46px;

  display:grid;
  place-items:center;

  border-radius:12px;

  color:#fff;

  background:
    linear-gradient(
      180deg,
      #3c93b4 0%,
      #307B94 60%,
      #29697f 100%
    );

  box-shadow:
    0 5px 10px rgba(20,40,60,.14),
    inset 0 1px 0 rgba(255,255,255,.25);
}


.member-card-icon svg{
  width:25px;
  height:25px;

  display:block;
}


.member-card-text{
  flex:1 1 auto;

  min-width:0;

  display:flex;
  flex-direction:column;

  gap:3px;
}


.member-card-text strong{
  font-size:15px;
  font-weight:750;
  line-height:1.2;
}


.member-card-text span{
  font-size:11.5px;
  font-weight:500;
  line-height:1.3;

  color:var(--member-muted);
}


.member-card-arrow{
  flex:0 0 auto;

  padding-left:4px;

  font-size:27px;
  font-weight:400;
  line-height:1;

  color:#9aa5ad;
}


/*
   Voorlopig zijn dit alleen de dashboard-items.
   We maken ze clickable zodra hun pagina bestaat.
*/

.member-card-disabled{
  cursor:default;
}


/* ========================================
   LOGOUT
   ======================================== */

.member-footer-actions{
  margin-top:24px;

  text-align:center;
}


.member-footer-actions a{
  display:inline-block;

  padding:8px 14px;

  font-size:12px;
  font-weight:650;

  color:var(--member-muted);

  text-decoration:none;
}


.member-footer-actions a:hover{
  color:var(--member-blue);
}


/* ========================================
   LOGGED OUT
   ======================================== */

.member-login{
  min-height:calc(100dvh - var(--appbar-h) - 40px);

  display:flex;
  flex-direction:column;

  align-items:center;
  justify-content:center;

  padding:20px;

  text-align:center;
}


.member-login-icon{
  width:70px;
  height:70px;

  margin-bottom:20px;

  display:grid;
  place-items:center;

  border-radius:20px;

  color:#fff;

  background:
    linear-gradient(
      180deg,
      #3c93b4 0%,
      #307B94 60%,
      #29697f 100%
    );

  box-shadow:
    0 10px 22px rgba(20,40,60,.18),
    inset 0 1px 0 rgba(255,255,255,.28);
}


.member-login-icon svg{
  width:36px;
  height:36px;
}


.member-login .member-kicker{
  margin-bottom:7px;
}


.member-login p{
  max-width:290px;

  margin-top:10px;
}


.member-primary-btn{
  width:100%;
  max-width:260px;

  height:48px;

  margin-top:25px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:9px;

  background:var(--member-blue);

  color:#fff;

  font-size:14px;
  font-weight:750;

  text-decoration:none;

  box-shadow:
    0 6px 14px rgba(20,40,60,.15);
}


.member-primary-btn:hover{
  background:var(--member-blue-dark);
}


/* ========================================
   DESKTOP
   ======================================== */

@media (min-width:769px){

  body{
    display:flex;

    justify-content:center;
    align-items:flex-start;
  }

}