:root{--rider-blue:#087ff5;--rider-blue-dark:#0569d1;--rider-soft:#edf6ff;--rider-bg:#f3f7fc;--rider-text:#172033;--rider-muted:#667085;--rider-line:#dde5ee;--rider-shadow:0 10px 32px rgba(31,65,104,.08)}
html{width:100%;max-width:100%;overflow-x:hidden;background:var(--rider-bg)}
body{width:100%;max-width:100%;overflow-x:hidden;color:var(--rider-text);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans KR","Malgun Gothic",Arial,sans-serif!important;-webkit-font-smoothing:antialiased}
body.fine-rider-ui{padding-bottom:108px!important;background:radial-gradient(circle at 50% -180px,#e5f2ff 0,#f3f7fc 390px,#f3f7fc 100%)!important}
body.fine-rider-ui *{box-sizing:border-box}
body.fine-rider-ui :focus-visible{outline:3px solid rgba(8,127,245,.22)!important;outline-offset:2px}
body.fine-rider-ui img,body.fine-login-ui img{max-width:100%;height:auto}
body.fine-rider-ui .page,body.fine-rider-ui .container,body.fine-rider-ui .box,body.fine-rider-ui .form-card,body.fine-rider-ui form{min-width:0;max-width:100%}
body.fine-rider-ui .menu-grid>*,body.fine-rider-ui .platform-buttons>*,body.fine-rider-ui .bottom-buttons>*,body.fine-rider-ui .result-row>*,body.fine-rider-ui .info-row>*,body.fine-rider-ui .total-row>*{min-width:0}

/* 넓은 화면에서도 답답하지 않은 본문 */
body.fine-rider-ui>.page,
body.fine-rider-ui>.container{width:min(94%,920px)!important;max-width:920px!important;margin:0 auto!important;padding-top:20px!important}
body.fine-rider-ui .page>.container{width:100%!important;max-width:920px!important}
body.fine-rider-ui .hero{border:1px solid var(--rider-line)!important;border-radius:22px!important;box-shadow:var(--rider-shadow)!important}
body.fine-rider-ui .hero-title,body.fine-rider-ui .hero-title-main{letter-spacing:-.045em!important}
body.fine-rider-ui .hero-brand,body.fine-rider-ui .hero-small{border-color:#cce3fb!important;background:#f2f8ff!important;color:var(--rider-blue)!important}

/* 카드 */
body.fine-rider-ui .box,
body.fine-rider-ui .form-card,
body.fine-rider-ui .summary-box,
body.fine-rider-ui .result-box,
body.fine-rider-ui .notice-box,
body.fine-rider-ui .image-box{
  border:1px solid var(--rider-line)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:var(--rider-shadow)!important;
}
body.fine-rider-ui .box,body.fine-rider-ui .form-card{padding:22px!important}
body.fine-rider-ui .section-title{font-size:19px!important;letter-spacing:-.03em}

/* 입력 */
body.fine-rider-ui label{color:#344054!important;font-weight:800!important}
body.fine-rider-ui input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
body.fine-rider-ui select,
body.fine-rider-ui textarea{
  width:100%!important;
  max-width:100%!important;
  min-height:48px!important;
  border:1px solid #cad5e2!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--rider-text)!important;
  font-family:inherit!important;
  font-size:15px!important;
  transition:border-color .15s,box-shadow .15s!important;
}
body.fine-rider-ui input:focus,body.fine-rider-ui select:focus,body.fine-rider-ui textarea:focus{border-color:var(--rider-blue)!important;box-shadow:0 0 0 4px rgba(8,127,245,.11)!important;outline:0!important}
body.fine-rider-ui input[type=checkbox],body.fine-rider-ui input[type=radio]{accent-color:var(--rider-blue)}
body.fine-rider-ui button,
body.fine-rider-ui .submit-button,
body.fine-rider-ui .search-button,
body.fine-rider-ui .bottom-button,
body.fine-rider-ui .login-button{
  min-height:48px;
  border-radius:12px!important;
  font-family:inherit!important;
  font-weight:900!important;
  transition:transform .12s,box-shadow .12s!important;
}
body.fine-rider-ui button:active,body.fine-rider-ui .bottom-button:active{transform:scale(.985)}

/* 플랫폼/조회 탭 */
body.fine-rider-ui .platform-buttons,
body.fine-rider-ui .view-buttons{gap:8px!important;padding:5px!important;border:1px solid var(--rider-line)!important;border-radius:14px!important;background:#e9eff6!important}
body.fine-rider-ui .platform-button,
body.fine-rider-ui .view-button{min-height:44px!important;border-radius:10px!important;text-decoration:none!important}
body.fine-rider-ui .platform-button.active,
body.fine-rider-ui .view-button.active{background:#fff!important;color:var(--rider-blue)!important;box-shadow:0 3px 10px rgba(31,65,104,.1)!important}

/* 결과 */
body.fine-rider-ui .result-row,body.fine-rider-ui .info-row,body.fine-rider-ui .total-row{padding:11px 0!important;border-bottom-color:#edf1f5!important}
body.fine-rider-ui .result-label{color:var(--rider-blue)!important}
body.fine-rider-ui table{width:100%;border-collapse:separate!important;border-spacing:0!important;font-variant-numeric:tabular-nums}
body.fine-rider-ui th{padding:13px 10px!important;background:#f5f8fc!important;color:#475467!important;font-weight:900!important}
body.fine-rider-ui td{padding:12px 10px!important;border-bottom:1px solid #edf1f5!important;color:#344054}
body.fine-rider-ui tbody tr:nth-child(even) td{background:#fbfdff}
body.fine-rider-ui th,body.fine-rider-ui td{overflow-wrap:anywhere;word-break:keep-all}
body.fine-rider-ui .result-row,body.fine-rider-ui .info-row,body.fine-rider-ui .total-row{max-width:100%;overflow-wrap:anywhere}

/* 메인 화면 */
body.fine-rider-ui .page{max-width:920px!important}
body.fine-rider-ui .hero-user-area{right:14px!important;top:14px!important}
body.fine-rider-ui .menu-grid{gap:12px!important;padding:0 8px!important}
body.fine-rider-ui .menu-card{min-height:116px!important;padding:16px!important;border-color:var(--rider-line)!important;border-radius:18px!important;box-shadow:var(--rider-shadow)!important}
body.fine-rider-ui .menu-card:hover{transform:translateY(-2px);box-shadow:0 14px 35px rgba(31,65,104,.13)!important}
body.fine-rider-ui .menu-icon{width:48px!important;height:48px!important;flex-basis:48px!important;border-radius:14px!important}
body.fine-rider-ui .menu-title{font-size:16px!important}
body.fine-rider-ui .pwa-install-button{border-radius:15px!important;box-shadow:var(--rider-shadow)!important}

/* 내정보와 로그인 */
body.fine-rider-ui .success-modal-box,body.fine-rider-ui .first-login-modal-box{border-radius:20px!important;box-shadow:0 28px 80px rgba(15,23,42,.27)!important}
body.fine-login-ui{background:radial-gradient(circle at 50% 0,#dceeff,#f5f8fc 440px)!important}
body.fine-login-ui .box{border:1px solid var(--rider-line)!important;border-radius:22px!important;box-shadow:0 18px 55px rgba(31,65,104,.12)!important}

/* 공통 하단 퀵 메뉴 */
.fine-rider-dock{position:fixed;left:50%;bottom:16px;z-index:90000;width:min(680px,calc(100% - 28px));height:70px;display:grid;grid-template-columns:repeat(6,1fr);padding:7px;border:1px solid rgba(208,220,233,.92);border-radius:22px;background:rgba(255,255,255,.94);box-shadow:0 18px 50px rgba(15,40,70,.18);backdrop-filter:blur(18px);transform:translateX(-50%)}
.fine-rider-dock a{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:15px;color:#768397;text-decoration:none;font-size:10px;font-weight:850;transition:background .12s,color .12s,transform .12s}
.fine-rider-dock a:hover{background:#f2f7fc;color:var(--rider-blue)}
.fine-rider-dock a.active{background:var(--rider-soft);color:var(--rider-blue)}
.fine-rider-dock-icon{height:22px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;line-height:1}

@media(min-width:760px){
  body.fine-rider-ui .form-card form{max-width:720px;margin-left:auto;margin-right:auto}
  body.fine-rider-ui .box{padding:26px!important}
}

@media(max-width:600px){
  body.fine-rider-ui{padding-bottom:92px!important}
  body.fine-rider-ui>.page,body.fine-rider-ui>.container{width:100%!important;padding:10px 10px 24px!important}
  body.fine-rider-ui .page>.container{width:100%!important}
  body.fine-rider-ui .hero{border-radius:18px!important}
  body.fine-rider-ui .box,body.fine-rider-ui .form-card{padding:16px!important;border-radius:15px!important}
  body.fine-rider-ui .menu-grid{gap:8px!important;padding:0 3px!important}
  body.fine-rider-ui .menu-card{min-height:106px!important;padding:11px 10px!important;border-radius:15px!important}
  body.fine-rider-ui .menu-icon{width:42px!important;height:42px!important;flex-basis:42px!important}
  body.fine-rider-ui .menu-title{font-size:14px!important}
  body.fine-rider-ui .fine-rider-dock{bottom:8px;width:calc(100% - 12px);height:69px;padding:5px;border-radius:18px}
  .fine-rider-dock a{font-size:9px;border-radius:13px}.fine-rider-dock-icon{font-size:18px}
  body.fine-rider-ui table{width:100%!important;min-width:0!important;max-width:100%!important;table-layout:fixed}
  body.fine-rider-ui th,body.fine-rider-ui td{padding:9px 5px!important;font-size:11px!important}
  body.fine-rider-ui .table-wrap,body.fine-rider-ui .table-wrapper{width:100%;max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}
  body.fine-rider-ui .mission-modal,body.fine-rider-ui .delete-modal,body.fine-rider-ui .success-modal,body.fine-rider-ui .first-login-modal{max-width:100vw!important;padding:10px!important}
  body.fine-rider-ui .mission-modal-content,body.fine-rider-ui .delete-modal-box,body.fine-rider-ui .success-modal-box,body.fine-rider-ui .first-login-modal-box{width:100%!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
}

@media(prefers-reduced-motion:reduce){body.fine-rider-ui *,body.fine-rider-ui *::before,body.fine-rider-ui *::after{transition:none!important;animation:none!important}}
