/* Fullscreen picker (mobile-first) */
.picker-button{
  width:100%;
  min-height:56px;
  padding:14px 16px;
  border:1px solid #cfd9e6;
  border-radius:14px;
  background:#fff;
  color:#1d2a39;
  font-size:16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
  cursor:pointer;
}
.picker-button[disabled]{
  background:#f3f6fa;
  color:#7b8aa0;
  cursor:not-allowed;
}
.picker-chevron{ opacity:.7; }

.picker-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.45);
  z-index:9999;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0;
}
.picker-sheet{
  width:100%;
  max-height:92vh;
  background:#fff;
  border-radius:18px 18px 0 0;
  overflow:hidden;
  box-shadow:0 -12px 40px rgba(0,0,0,.25);
}
@media (min-width: 720px){
  .picker-overlay{ align-items:center; padding:24px; }
  .picker-sheet{
    max-width:520px;
    border-radius:18px;
    max-height:80vh;
  }
}
.picker-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 16px 12px;
  border-bottom:1px solid #eef2f7;
}
.picker-title{
  font-weight:800;
  font-size:16px;
}
.picker-close{
  width:40px;
  height:40px;
  border:1px solid #e6edf6;
  background:#fff;
  border-radius:12px;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.picker-search{
  padding:12px 16px;
  border-bottom:1px solid #eef2f7;
}
.picker-search input{
  width:100%;
  height:48px;
  border:1px solid #cfd9e6;
  border-radius:14px;
  padding:0 14px;
  font-size:16px;
  outline:none;
}
.picker-list{
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  max-height:calc(92vh - 58px - 73px);
}
@media (min-width: 720px){
  .picker-list{ max-height:calc(80vh - 58px - 73px); }
}
.picker-item{
  width:100%;
  text-align:left;
  padding:14px 16px;
  border:none;
  background:#fff;
  font-size:16px;
  cursor:pointer;
}
.picker-item:hover{ background:#f6f9fd; }
.picker-empty{
  padding:18px 16px;
  color:#6b7a8a;
  font-size:14px;
}

.picker-overlay[hidden]{display:none !important;}
