.permission-modal{
  position:fixed;
  inset:0;
  z-index:120;
  background:rgba(7,30,32,.54);
  backdrop-filter:blur(14px);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:18px 14px calc(18px + env(safe-area-inset-bottom))
}
.permission-modal[hidden]{display:none}

.permission-card{
  width:min(560px,100%);
  max-height:min(86vh,760px);
  overflow:auto;
  background:linear-gradient(180deg,#fff 0%,#f8fbfb 100%);
  border:1px solid rgba(15,118,110,.12);
  border-radius:30px;
  padding:20px;
  box-shadow:0 28px 80px rgba(2,27,30,.32)
}

.permission-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px
}

.permission-kicker{
  font-size:9px;
  letter-spacing:.16em;
  font-weight:900;
  color:#0d9488
}

.permission-head h2{
  font-size:24px;
  line-height:1.15;
  margin:3px 0 5px
}

.permission-head p{
  font-size:11px;
  line-height:1.55;
  color:#6a7f82;
  margin:0;
  max-width:390px
}

.permission-close{
  border:0;
  background:#edf5f4;
  width:38px;
  height:38px;
  border-radius:13px;
  color:#315a5d;
  font-size:22px
}

.permission-list{
  display:flex;
  flex-direction:column;
  gap:9px;
  margin-top:15px
}

.perm-row{
  display:grid;
  grid-template-columns:46px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:12px;
  border-radius:19px;
  background:#fff;
  border:1px solid #e8eeee
}

.perm-icon{
  width:46px;
  height:46px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
  background:#edf9f7
}

.perm-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px
}

.perm-copy b{font-size:13px}

.perm-copy span{
  font-size:10px;
  color:#718486;
  line-height:1.4
}

.perm-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:5px
}

.perm-state{
  font-size:9px;
  font-weight:900;
  padding:4px 7px;
  border-radius:99px;
  background:#f0f3f4;
  color:#6d7c7e;
  white-space:nowrap
}

.perm-state.granted{
  background:#e7f9ef;
  color:#087a45
}

.perm-state.denied{
  background:#fff0f0;
  color:#c33d3d
}

.perm-state.prompt{
  background:#fff7df;
  color:#9a6a00
}

.perm-action{
  border:0;
  border-radius:10px;
  background:#087b75;
  color:#fff;
  padding:7px 10px;
  font-size:10px;
  font-weight:900;
  white-space:nowrap
}

.perm-action.secondary{
  background:#eef5f4;
  color:#315f60
}

.perm-action:disabled{opacity:.52}

.permission-note{
  display:flex;
  gap:8px;
  margin:12px 2px 0;
  padding:10px 11px;
  border-radius:14px;
  background:#eef9f7;
  color:#456d6e;
  font-size:10px;
  line-height:1.5
}

.permission-footer{
  display:flex;
  gap:9px;
  margin-top:15px
}

.permission-footer button{
  flex:1;
  border:0;
  border-radius:14px;
  padding:11px 12px;
  font-size:11px;
  font-weight:900
}

.permission-done{
  background:#087b75;
  color:#fff
}

.permission-later{
  background:#eef3f3;
  color:#476568
}

.bottom-nav{
  grid-template-columns:repeat(4,1fr)!important
}

@media(min-width:700px){
  .permission-modal{align-items:center}
}

@media(max-width:390px){
  .perm-row{
    grid-template-columns:42px minmax(0,1fr)
  }

  .perm-icon{
    width:42px;
    height:42px
  }

  .perm-right{
    grid-column:2;
    flex-direction:row;
    align-items:center;
    justify-content:space-between
  }

  .permission-footer{
    flex-direction:column-reverse
  }
}
