@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');

:root{
  --yc-brand-blue:#245bff;
  --yc-brand-font:'Pretendard','Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --yc-blue:#245bff;
  --yc-blue-dark:#245bff;
  --primary:#245bff;
  --accent:#245bff;
  --mz-primary:#245bff;
  --mz-primary-dark:#245bff;
  --mz-blue:#245bff;
  --mz-blue-dark:#245bff;
  --yf-blue:#245bff;
  --yc-cloud-blue:#245bff;
  --bc-blue:#245bff;
  --yc28-blue:#245bff;
  --yc29-blue:#245bff;
  --yc37-blue:#245bff;
  --yc40-blue:#245bff;
  --yc42-blue:#245bff;
  --yc44-blue:#245bff;
  --ex-blue:#245bff;
  --ex33-blue:#245bff;
  --yc30-blue:#245bff;
}
html body,
html body button,
html body input,
html body select,
html body textarea,
html body option,
html body h1,html body h2,html body h3,html body h4,html body h5,html body h6,
html body a,html body label,html body table,html body th,html body td{
  font-family:var(--yc-brand-font)!important;
}
/* One canonical return-to-online-class control across YunCloud, device and FaceClass pages. */
html body .yc-online-return,
html body .yf-title-row .yc-online-return,
html body .yf-admin-page-title .yc-online-return,
html body .yc-cloud-back.yc-online-return,
html body .yc-device-page .yc-online-return{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;
  min-height:38px!important;height:38px!important;padding:0 13px!important;
  border:1px solid #cfdbed!important;border-radius:10px!important;background:#fff!important;
  color:#245bff!important;text-decoration:none!important;font-size:13px!important;font-weight:800!important;
  line-height:1!important;box-shadow:none!important;white-space:nowrap!important;margin:0!important;
}
html body .yc-online-return:hover,
html body .yc-online-return:focus,
html body .yc-online-return:visited{
  color:#245bff!important;background:#f7faff!important;text-decoration:none!important;
}
html body .yc-online-return svg{width:17px!important;height:17px!important;flex:0 0 17px!important;}

/* Stage28 v199 — canonical action-button typography and decision colors */
:root{
  --yc-action-blue:#245bff;
  --yc-action-blue-hover:#194ee6;
  --yc-action-red:#e53935;
  --yc-action-red-hover:#c92f2c;
}
html body button,
html body input[type="submit"],
html body input[type="button"],
html body input[type="reset"],
html body a.button,
html body a.btn,
html body a[class*="-btn"],
html body a[class*="btn-"],
html body .button,
html body [role="button"]{
  font-family:var(--yc-brand-font)!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
}
/* "저장 후 편집 계속" is not part of the product action grammar anymore. */
html body [name="_continue"]{display:none!important;}

html body .yc-action-positive,
html body button.yc-action-positive,
html body input.yc-action-positive,
html body a.yc-action-positive,
html body .submit-row input.default,
html body .submit-row input[name="_save"],
html body .submit-row input[name="_addanother"],
html body .submit-row input[name="_saveasnew"]{
  background:var(--yc-action-blue)!important;
  border-color:var(--yc-action-blue)!important;
  color:#fff!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
html body .yc-action-positive:hover,
html body .yc-action-positive:focus,
html body .submit-row input.default:hover,
html body .submit-row input.default:focus,
html body .submit-row input[name="_save"]:hover,
html body .submit-row input[name="_save"]:focus{
  background:var(--yc-action-blue-hover)!important;
  border-color:var(--yc-action-blue-hover)!important;
  color:#fff!important;
}
html body .yc-action-negative,
html body button.yc-action-negative,
html body input.yc-action-negative,
html body a.yc-action-negative,
html body a.deletelink,
html body .deletelink,
html body .yf-btn-danger,
html body .btn-danger,
html body .danger{
  background:var(--yc-action-red)!important;
  border-color:var(--yc-action-red)!important;
  color:#fff!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
html body .yc-action-negative:hover,
html body .yc-action-negative:focus,
html body a.deletelink:hover,
html body a.deletelink:focus,
html body .deletelink:hover,
html body .deletelink:focus,
html body .yf-btn-danger:hover,
html body .yf-btn-danger:focus{
  background:var(--yc-action-red-hover)!important;
  border-color:var(--yc-action-red-hover)!important;
  color:#fff!important;
}
html body .yc-action-positive:disabled,
html body .yc-action-negative:disabled,
html body .yc-action-positive[aria-disabled="true"],
html body .yc-action-negative[aria-disabled="true"]{opacity:.48!important;cursor:not-allowed!important;}
html body a[class*="delete"],
html body button[class*="delete"],
html body a[class*="cancel"],
html body button[class*="cancel"],
html body a[class*="danger"],
html body button[class*="danger"]{
  font-family:var(--yc-brand-font)!important;
  font-weight:800!important;
}
html body input[type="file"]::file-selector-button{
  font-family:var(--yc-brand-font)!important;
  font-weight:800!important;
  letter-spacing:-.01em!important;
}

/* Stage29 v200 — semantic action refinement */
html body .yc-action-negative,
html body button.yc-action-negative,
html body input.yc-action-negative,
html body a.yc-action-negative,
html body a.deletelink,
html body .deletelink,
html body .yf-btn-danger,
html body .btn-danger,
html body .danger{
  background:#fff0f1!important;
  border-color:#f1b8bd!important;
  color:#c92531!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
html body .yc-action-negative:hover,
html body .yc-action-negative:focus,
html body a.deletelink:hover,
html body a.deletelink:focus,
html body .deletelink:hover,
html body .deletelink:focus,
html body .yf-btn-danger:hover,
html body .yf-btn-danger:focus,
html body .btn-danger:hover,
html body .btn-danger:focus,
html body .danger:hover,
html body .danger:focus{
  background:#ffe5e7!important;
  border-color:#e78790!important;
  color:#a91823!important;
}
html body .yc-action-neutral,
html body button.yc-action-neutral,
html body input.yc-action-neutral,
html body a.yc-action-neutral{
  background:#fff!important;
  border:1px solid #cbd7e8!important;
  color:#17335f!important;
  box-shadow:none!important;
  text-decoration:none!important;
}
html body .yc-action-neutral:hover,
html body .yc-action-neutral:focus{
  background:#f6f9fd!important;
  border-color:#aebfda!important;
  color:#10284f!important;
}
html body .yc165-dialog-actions .yc165-dialog-danger,
html body .yc148-dialog-actions .yc148-dialog-danger{
  background:#fff0f1!important;
  border-color:#f1b8bd!important;
  color:#c92531!important;
  box-shadow:none!important;
}
html body .yc165-dialog-actions .yc165-dialog-danger:hover,
html body .yc165-dialog-actions .yc165-dialog-danger:focus,
html body .yc148-dialog-actions .yc148-dialog-danger:hover,
html body .yc148-dialog-actions .yc148-dialog-danger:focus{
  background:#ffe5e7!important;
  border-color:#e78790!important;
  color:#a91823!important;
}

/* Stage30 v201 — admin action placement: utility left, decisions right */
body.yc40-admin-ui .submit-row.yc201-submit-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important}
body.yc40-admin-ui .yc201-submit-left,body.yc40-admin-ui .yc201-submit-right{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
body.yc40-admin-ui .yc201-submit-right{margin-left:auto!important}
body.yc40-admin-ui .yc201-submit-right .deletelink{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:40px!important;padding:0 15px!important;border-radius:9px!important;text-decoration:none!important}


/* Stage59 v230 — responsive action-height guard.
   Several legacy responsive sheets intentionally stack submit rows on phones.
   Action controls must keep their intrinsic button height when the flex axis
   becomes vertical; they must never grow to fill the remaining column. */
@media(max-width:760px){
  html body.yc40-admin-ui .submit-row input[type="submit"],
  html body.yc40-admin-ui .submit-row input[type="button"],
  html body.yc40-admin-ui .submit-row button,
  html body.yc40-admin-ui .submit-row a.button,
  html body.yc40-admin-ui .submit-row a.deletelink{
    flex-grow:0!important;
    flex-shrink:0!important;
    flex-basis:auto!important;
    align-self:auto!important;
    min-height:42px!important;
    max-height:52px!important;
    box-sizing:border-box!important;
  }
  html body.yc40-admin-ui .submit-row input[type="submit"],
  html body.yc40-admin-ui .submit-row input[type="button"],
  html body.yc40-admin-ui .submit-row button{
    height:44px!important;
  }
  html body.yc40-admin-ui .submit-row .deletelink-box{
    flex:0 0 auto!important;
    min-height:0!important;
  }
}

/* Stage60 v231 — global mobile interaction safety. This does not reposition any
   existing component; it only prevents browser text scaling, vertical flex growth
   and missed touch activation on existing controls. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
button,input[type="button"],input[type="submit"],input[type="reset"],a.button,[role="button"]{touch-action:manipulation}
@media(max-width:760px){
  html body button,
  html body input[type="button"],
  html body input[type="submit"],
  html body input[type="reset"],
  html body a.button,
  html body [role="button"]{
    box-sizing:border-box!important;
    flex-grow:0;
    max-width:100%;
  }
  body.yc40-admin-ui #content,
  body.yc40-admin-ui #content-main,
  body.yc40-admin-ui .module,
  body.yc40-admin-ui .form-row,
  body.yc40-admin-ui fieldset,
  body.yc40-admin-ui form{min-width:0!important;max-width:100%;box-sizing:border-box}
  body.yc40-admin-ui input:not([type="checkbox"]):not([type="radio"]),
  body.yc40-admin-ui select,
  body.yc40-admin-ui textarea{max-width:100%;box-sizing:border-box}
  .yc-table-wrap,.yc26-table-wrap,.yc39-table-wrap,.results{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
}
