/* Rider mobile-first bottom navigation. Existing admin and desktop layout unchanged. */
.rider-mobile-nav{display:none}.rider-mobile-profile{max-width:800px;margin:16px auto;padding:12px}.rider-mobile-profile-card{padding:20px;background:white;border:1px solid #dbe3ed;border-radius:12px}
@media(max-width:768px){
 body:has(#riderMobileNav:not(.hidden)) .wrap{padding-bottom:96px}
 .rider-mobile-nav:not(.hidden){display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fff;border-top:1px solid #d6dde5;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));box-shadow:0 -3px 12px #1524381a}
 .rider-mobile-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-width:0;min-height:52px;padding:5px 1px;background:transparent;border:0;border-radius:8px;color:#253448;cursor:pointer}
 .rider-mobile-nav button span{font-size:22px;line-height:1.1}
 .rider-mobile-nav button small{font-size:12px;font-weight:700;white-space:nowrap}
 .rider-mobile-nav button.active{color:#155a9d;background:#e9f2fc}
 .rider-mobile-profile{padding-bottom:110px}
}

.rider-mobile-profile-card{max-width:860px;margin:auto}.rider-mobile-profile-card h3{margin:23px 0 10px}.rmp-sub{font-size:13px;color:#5c6b7e}.rmp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rmp-grid label,.rmp-stack label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;color:#243850}.rmp-grid input,.rmp-stack input{width:100%;box-sizing:border-box;min-height:43px;border:1px solid #cbd5e1;border-radius:7px;padding:9px;font-size:15px}.rmp-grid input[readonly]{background:#f0f3f7;color:#5b6778}.rider-mobile-profile-card form>button{margin-top:13px;background:#123d68;color:white;border:0;border-radius:7px;padding:12px 16px;min-height:44px;font-weight:700}.rmp-stack{display:grid;gap:12px;margin:14px 0}.rider-mobile-profile-card details{padding:12px;border:1px solid #dce4ef;border-radius:9px;margin:8px 0}.rider-mobile-profile-card summary{cursor:pointer;font-weight:700}.rmp-error{color:#b91c1c}#rmpNotice:not(:empty){padding:10px;background:#eef4fc;border-radius:8px;margin:10px 0}#rmpHistory p{padding:9px;background:#f1f5fa;border-radius:7px}@media(max-width:768px){.rmp-grid{grid-template-columns:1fr}.rider-mobile-profile{margin:0;padding:10px 10px 110px}.rider-mobile-profile-card{padding:16px}}

.rma-summary{padding:14px;background:#eff5fb;border-radius:9px;font-weight:700;margin:16px 0}.rma-records{display:grid;gap:10px}.rma-card{border:1px solid #d9e3ef;border-radius:10px;padding:14px;display:grid;gap:7px}.rma-card span,.rma-card small{color:#627084;font-size:12px}.rma-card b{font-size:20px}.rma-refresh{margin-top:16px;min-height:44px;padding:10px 18px;border:0;border-radius:7px;background:#143e69;color:white;font-weight:700}@media(max-width:768px){.rider-mobile-nav button small{font-size:10px;letter-spacing:-.4px}.rider-mobile-nav button{padding:5px 0}}

/* v1.1.64: deterministic desktop/mobile layout and independent scrolling. */
@media (min-width:901px){
  body .shell{grid-template-columns:216px minmax(0,1fr)!important}
  body .shell>.sidebar{display:block!important;width:216px!important;min-width:216px!important;overflow-y:auto!important}
  body .shell>.main{min-width:0!important;overflow-y:auto!important}
  body .rider-mobile-nav{display:none!important}
  body .rider-mobile-profile{max-width:960px;width:100%;margin:16px auto;padding:12px}
  body .rider-mobile-profile-card{max-width:none;width:100%}
}
@media (max-width:900px){
  body .shell{grid-template-columns:minmax(0,1fr)!important}
  body .shell>.sidebar{display:none!important}
  body .shell>.main{width:100%!important;min-width:0!important}
  body:has(#riderMobileNav:not(.hidden)) .wrap{padding-bottom:100px!important}
  body .rider-mobile-profile{width:100%;max-width:100%;margin:0 auto;padding:10px 10px 100px}
  body .rider-mobile-profile-card{max-width:none;width:100%}
}
@media (min-width:769px) and (max-width:900px){
  body .rider-mobile-nav:not(.hidden){display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fff;border-top:1px solid #d6dde5;padding:6px 8px;box-shadow:0 -3px 12px #1524381a}
  body .rider-mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;min-width:0;background:transparent;color:#253448;border:0}
  body .rider-mobile-nav button.active{background:#e9f2fc;color:#155a9d}
}

/* v1.1.66: stable full-height rider sidebar and profile panel on desktop. */
@media(min-width:901px){
 body .shell{display:grid!important;grid-template-columns:216px minmax(0,1fr)!important;align-items:stretch!important}
 body .shell>.sidebar{display:block!important;height:100%!important;max-height:none!important;min-height:0!important;box-sizing:border-box!important;overflow-y:auto!important}
 body .shell>.main{height:100%!important;min-height:0!important;overflow-y:auto!important}
}
#riderMobileProfile:not(.hidden),#riderAdvancePage:not(.hidden){display:block!important}
@media(max-width:900px){body .shell>.sidebar{display:none!important}}

/* Rider desktop navigation repair: retain an independent visible sidebar. */
@media(min-width:901px){
 body .shell{grid-template-columns:216px minmax(0,1fr)!important}
 body .shell>.sidebar{display:block!important;position:relative!important;z-index:2!important;width:216px!important;min-width:216px!important;background:#13243a!important;color:#eaf2fb!important;padding:18px 10px!important;visibility:visible!important;opacity:1!important;overflow-y:auto!important}
 body .shell>.sidebar>.nav:not(.hidden){display:block!important;visibility:visible!important;opacity:1!important;color:#eaf2fb!important;min-height:20px!important}
 body .shell>.main{grid-column:2!important;min-width:0!important}
}

/* RP v1.1.1: Rider auxiliary views live inside .main .wrap.
   Keep sidebar and content in the same grid row without cross-page height changes. */
@media (min-width:901px){
 body .shell{grid-template-rows:minmax(0,1fr)!important;height:calc(100dvh - var(--topbar-h))!important;}
 body .shell>.sidebar{grid-row:1!important;height:100%!important;max-height:100%!important;overflow-y:auto!important;}
 body .shell>.main{grid-row:1!important;height:100%!important;overflow-y:auto!important;}
 body .main .rider-mobile-profile:not(.hidden){display:block!important;margin:0 auto!important;padding:8px 0 24px!important;}
}

/* RP 1.1.2: both auxiliary panels are children of .main .wrap. */
.main .wrap > .rider-mobile-profile:not(.hidden){display:block!important;position:static!important;float:none!important;clear:none!important;margin:0 auto!important;padding:8px 0 24px!important;max-width:960px;width:100%;box-sizing:border-box}
.main .wrap > .rider-mobile-profile .rider-mobile-profile-card{width:100%;box-sizing:border-box}

/* Rider grades: wide desktop-only administrator workspace. */
@media (min-width: 769px) {
  #riderGradesAdminPage.rider-mobile-profile {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 16px auto;
    padding: 12px 20px;
  }
  #riderGradesAdminPage .rider-mobile-profile-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 1600px !important;
    margin: 0 auto;
  }
  #rgAdminContent table { min-width: 1050px; border-collapse: collapse; }
  #rgAdminContent th, #rgAdminContent td { white-space: nowrap; }
}

/* RG v1.0.4: desktop-first compact rider grades grid. */
@media (min-width: 769px) {
  .main .wrap > #riderGradesAdminPage.rider-mobile-profile:not(.hidden) {
    max-width: none !important;
    width: 100% !important;
    padding: 8px 12px 24px !important;
  }
  #riderGradesAdminPage .rider-mobile-profile-card {
    max-width: 1600px !important;
  }
}
#rgAdminContent .rg-table-scroll { width:100%; overflow-x:auto; }
#rgAdminContent table.rg-table {
  width:100%; min-width:1080px; table-layout:fixed; border-collapse:collapse;
}
#rgAdminContent .rg-table col.rg-col-branch {width:10%;}
#rgAdminContent .rg-table col.rg-col-name {width:10%;}
#rgAdminContent .rg-table col.rg-col-id {width:16%;}
#rgAdminContent .rg-table col.rg-col-count {width:9%;}
#rgAdminContent .rg-table col.rg-col-activity {width:11%;}
#rgAdminContent .rg-table col.rg-col-credit {width:12%;}
#rgAdminContent .rg-table col.rg-col-reason {width:24%;}
#rgAdminContent .rg-table col.rg-col-action {width:8%;}
#rgAdminContent .rg-table th {
  text-align:center !important; white-space:nowrap !important;
  padding:10px 7px !important; vertical-align:middle;
}
#rgAdminContent .rg-table td {
  padding:5px 7px !important; height:46px; line-height:1.3;
  vertical-align:middle; white-space:nowrap;
}
#rgAdminContent .rg-table td:nth-child(4),
#rgAdminContent .rg-table td:nth-child(5),
#rgAdminContent .rg-table td:nth-child(6),
#rgAdminContent .rg-table td:nth-child(8) { text-align:center; }
#rgAdminContent .rg-table select,
#rgAdminContent .rg-table input {
  box-sizing:border-box; width:100%; min-width:0 !important;
  height:34px; padding:4px 8px; font-size:13px;
}
#rgAdminContent .rg-table button {
  white-space:nowrap; min-width:48px; padding:6px 9px;
  line-height:1.2; min-height:32px;
}

/* RP v1.1.3: mobile-only profile redesign; all existing form IDs and handlers retained. */
.rmp-mobile-head{display:none}
@media(max-width:900px){
 #riderMobileProfile{box-sizing:border-box!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0 0 calc(90px + env(safe-area-inset-bottom,0px))!important;overflow-x:clip!important}
 #riderMobileProfile .rider-mobile-profile-card{box-sizing:border-box!important;width:100%!important;max-width:540px!important;margin:0 auto!important;padding:0 14px 20px!important;border:0!important;border-radius:0!important;background:#fff!important;min-width:0!important}
 #riderMobileProfile .rmp-mobile-head{display:block;margin:0 -14px 18px;padding:16px 16px 18px;background:#0d3b66;color:#fff;border-radius:0 0 12px 12px}
 #riderMobileProfile .rmp-mobile-brand{font-size:12px;font-weight:700;margin-bottom:10px}
 #riderMobileProfile .rmp-mobile-title{font-size:21px;font-weight:800;line-height:1.4}
 #riderMobileProfile .rmp-mobile-subtitle{font-size:12px;opacity:.8;margin-top:3px}
 #riderMobileProfile .rider-mobile-profile-card>h2,#riderMobileProfile .rider-mobile-profile-card>h2+.rmp-sub{display:none}
 #riderMobileProfile #rgRiderActivity{margin:0 0 16px!important;font-size:13px!important}
 #riderMobileProfile #rgRiderActivity>div{padding:16px!important;border-radius:12px!important;background:#eef3f9!important}
 #riderMobileProfile #rgRiderActivity p{margin:10px 0!important}
 #riderMobileProfile #rmpInfoForm .rmp-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:13px!important}
 #riderMobileProfile .rmp-grid label,#riderMobileProfile .rmp-stack label{display:flex!important;flex-direction:column!important;gap:6px!important;font-size:13px!important;min-width:0!important}
 #riderMobileProfile input{box-sizing:border-box!important;max-width:100%!important;min-width:0!important;width:100%!important;min-height:46px!important;font-size:16px!important;border-radius:8px!important}
 #riderMobileProfile .rmp-grid input[readonly]{background:#edf1f6!important;color:#56657b!important}
 #riderMobileProfile .rider-mobile-profile-card form>button{display:block!important;width:100%!important;min-height:48px!important;margin-top:15px!important;font-size:15px!important;border-radius:9px!important}
 #riderMobileProfile h3{font-size:17px!important;margin:26px 0 12px!important}
 #riderMobileProfile details{padding:0!important;border:1px solid #dce4ef!important;border-radius:10px!important;overflow:hidden!important;margin:12px 0!important}
 #riderMobileProfile summary{list-style:none!important;min-height:52px!important;display:flex!important;align-items:center!important;padding:12px 14px!important;font-size:14px!important;cursor:pointer!important;gap:8px!important}
 #riderMobileProfile summary::-webkit-details-marker{display:none}
 #riderMobileProfile summary:before{content:'▸';color:#0d3b66;font-size:15px}
 #riderMobileProfile details[open]>summary:before{content:'▾'}
 #riderMobileProfile .rmp-stack{padding:0 14px 14px!important;margin:0!important;gap:12px!important}
 #riderMobileProfile #rmpHistory p{border-radius:9px!important;padding:14px!important;margin:8px 0!important}
 #riderMobileProfile #rmpNotice:not(:empty){overflow-wrap:anywhere!important}
 #riderMobileProfile p{overflow-wrap:anywhere}
}
