body.r15c-open{
  overflow:hidden;
}

.driver-menu-button{
  appearance:none;
  width:44px;
  height:44px;
  min-width:44px;
  margin-left:auto;
  padding:0;
  border:1px solid rgba(17,38,65,.14);
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 20px rgba(17,38,65,.09);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  touch-action:manipulation;
}

.driver-menu-bars{
  width:19px;
  display:grid;
  gap:4px;
}

.driver-menu-bars span{
  display:block;
  height:2px;
  border-radius:999px;
  background:#152741;
}

.r15c-sr{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.r15c-backdrop{
  position:fixed;
  inset:0;
  z-index:9990;
  background:rgba(5,15,30,.48);
  backdrop-filter:blur(2px);
}

.r15c-drawer{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  z-index:9991;
  width:min(92vw,430px);
  padding-top:env(safe-area-inset-top);
  padding-bottom:env(safe-area-inset-bottom);
  background:#f7f9fc;
  box-shadow:-18px 0 50px rgba(4,16,35,.25);
  overflow:hidden;
}

.r15c-backdrop[hidden],
.r15c-drawer[hidden]{
  display:none!important;
}

.r15c-drawer-head{
  height:64px;
  display:grid;
  grid-template-columns:72px 1fr 72px;
  align-items:center;
  padding:0 12px;
  background:#fff;
  border-bottom:1px solid rgba(20,38,64,.1);
}

.r15c-drawer-title{
  color:#12253e;
  font-size:14px;
  text-align:center;
}

.r15c-back,
.r15c-close{
  appearance:none;
  min-height:44px;
  border:0;
  background:transparent;
  color:#17304f;
  font:inherit;
  font-weight:800;
  cursor:pointer;
}

.r15c-back{
  text-align:left;
}

.r15c-close{
  text-align:right;
}

.r15c-drawer-body{
  height:calc(100% - 64px);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  padding:18px 16px calc(28px + env(safe-area-inset-bottom));
}

.r15c-screen{
  display:grid;
  gap:14px;
}

.r15c-heading h2{
  margin:0;
  color:#10233d;
  font-size:24px;
  line-height:1.15;
}

.r15c-heading p{
  margin:7px 0 0;
  color:#64748b;
  line-height:1.5;
}

.r15c-card,
.r15c-doc{
  padding:16px;
  background:#fff;
  border:1px solid rgba(20,38,64,.1);
  border-radius:18px;
  box-shadow:0 8px 24px rgba(20,38,64,.055);
}

.r15c-card-title{
  display:block;
  margin-bottom:8px;
  color:#152741;
}

.r15c-progress-number{
  margin-bottom:10px;
  color:#152741;
  font-size:31px;
  font-weight:900;
}

.r15c-progress-track{
  height:9px;
  overflow:hidden;
  border-radius:999px;
  background:#e9eef5;
}

.r15c-progress-fill{
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#c98a20,#e6b654);
}

.r15c-muted{
  margin:9px 0 0;
  color:#68778a;
  font-size:13px;
  line-height:1.5;
}

.r15c-approval-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.r15c-mini-card{
  padding:12px;
  display:grid;
  gap:5px;
  background:#fff;
  border:1px solid rgba(20,38,64,.1);
  border-radius:15px;
}

.r15c-mini-card span{
  color:#66758a;
  font-size:12px;
}

.r15c-mini-card strong{
  font-size:13px;
}

.r15c-mini-card .good{
  color:#087a4f;
}

.r15c-mini-card .pending{
  color:#956000;
}

.r15c-doc-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.r15c-doc-name{
  display:grid;
  gap:4px;
}

.r15c-doc-name strong{
  color:#152741;
}

.r15c-doc-name span{
  color:#77859a;
  font-size:12px;
}

.r15c-status{
  flex:0 0 auto;
  min-height:27px;
  padding:4px 9px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
}

.r15c-status.missing{
  background:#f1f4f8;
  color:#67768a;
}

.r15c-status.uploaded{
  background:#eaf2ff;
  color:#2458a6;
}

.r15c-status.review{
  background:#fff4d9;
  color:#8a5d00;
}

.r15c-status.approved{
  background:#e2f7ed;
  color:#08734b;
}

.r15c-status.rejected{
  background:#fde9e9;
  color:#a52d2d;
}

.r15c-status.expiring{
  background:#fff0df;
  color:#a5520b;
}

.r15c-upload-row{
  margin-top:12px;
}

.r15c-button,
.r15c-link{
  appearance:none;
  min-height:46px;
  padding:11px 15px;
  border:0;
  border-radius:13px;
  background:#142945;
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font:inherit;
  font-weight:800;
  text-decoration:none;
  text-align:center;
  cursor:pointer;
  touch-action:manipulation;
}

.r15c-button.secondary{
  background:#eef2f7;
  color:#18314f;
}

.r15c-button:disabled{
  opacity:.45;
  cursor:not-allowed;
}

.r15c-menu-list{
  display:grid;
  gap:9px;
}

.r15c-menu-item{
  appearance:none;
  width:100%;
  min-height:52px;
  padding:0 15px;
  border:1px solid rgba(20,38,64,.1);
  border-radius:15px;
  background:#fff;
  color:#152741;
  font:inherit;
  font-weight:800;
  text-align:left;
  cursor:pointer;
}

.r15c-menu-item.danger{
  color:#a32c2c;
}

.r15c-form,
.r15c-inline-form{
  display:grid;
  gap:10px;
}

.r15c-form input,
.r15c-inline-form input{
  box-sizing:border-box;
  width:100%;
  min-height:48px;
  padding:11px 12px;
  border:1px solid #cad3df;
  border-radius:12px;
  background:#fff;
  color:#132740;
  font:inherit;
  font-size:16px;
}

.r15c-inline-form{
  margin-top:13px;
  padding-top:13px;
  border-top:1px solid #edf0f4;
}

.r15c-data-row{
  padding:10px 0;
  display:flex;
  justify-content:space-between;
  gap:16px;
  border-bottom:1px solid #eef1f5;
}

.r15c-data-row:last-child{
  border-bottom:0;
}

.r15c-data-row span{
  color:#69788b;
}

.r15c-data-row strong{
  color:#172c48;
  text-align:right;
  word-break:break-word;
}

.r15c-notice{
  margin-bottom:14px;
  padding:11px 13px;
  border-radius:13px;
  background:#edf3fb;
  color:#284969;
  font-size:13px;
  font-weight:700;
}

.r15c-notice.good{
  background:#e5f7ee;
  color:#08724a;
}

.r15c-notice.bad{
  background:#fdecec;
  color:#9f3030;
}

.r15c-notice.working{
  background:#fff4d8;
  color:#86600c;
}

.r15c-loading{
  padding:20px 0;
  color:#6b7889;
  text-align:center;
}

.r15c-ios-help{
  margin:12px 0 0;
  color:#6d7888;
  font-size:12px;
  line-height:1.5;
}

.r15c-gps{
  border-color:rgba(201,138,32,.28);
}

.r15c-gps .r15c-button{
  margin-top:12px;
}

.good-card{
  border-color:rgba(20,138,88,.25);
}

@media (max-width:520px){
  .topbar{
    gap:8px;
  }

  .topbar-status{
    max-width:45%;
  }

  .driver-menu-button{
    width:42px;
    height:42px;
    min-width:42px;
  }

  .r15c-drawer{
    width:100%;
  }
}
