/* Keep original desktop geometry; allow touch scrolling for wide business tables. */
html { -webkit-text-size-adjust: 100%; }
@media (max-width: 1024px) {
    html, body { overflow-x: auto; }
    body { touch-action: auto; }
    .datagrid-body { -webkit-overflow-scrolling: touch; }
    body.mobile-login #wrap { min-width: 0; width: 100%; height: auto !important; }
    body.mobile-login .top_inner { width: 100%; min-width: 0; background: none !important; }
    body.mobile-login .top_inner img { max-width: 45%; margin-left: 8px !important; }
    body.mobile-login .main_inner { width: 100%; height: auto; min-height: 550px; padding-top: 20px; background: none; }
    body.mobile-login .login_box { width: calc(100% - 24px); max-width: 356px; margin: 0 auto; }
    body.mobile-login .Notice_tabs { position: relative; width: calc(100% - 24px); margin: 0 12px 20px; }
    body.mobile-login .Notice_tabs label { font-size: 13px; padding-left: 8px; padding-right: 8px; }
    body.mobile-login .Notice_tabs .tab-content { width: 100%; }
    body.mobile-login .login_inner input { box-sizing: border-box; font-size: 16px; }
    body.mobile-login .login_inner .dl { width: 100%; }
}

@media (max-width: 1024px) {
    .wrap { position: relative; width: 100%; }
    .wrap-content { min-width: 0; margin: 0 12px; }
    .wrap-content #top { height: auto; min-height: 83px; overflow: auto; }
    .wrap-content #top div.fr { float: none; top: 0; clear: both; line-height: 28px; }
    .wrap-content #top .menu a { margin-right: 12px; }
    .wrap-content .user-info { height: auto; }
    .medium1 .medium1-top { height: auto; overflow: hidden; }
    .medium1 .medium1-top h2 { width: 100%; float: none; box-sizing: border-box; }
    .medium1 .medium1-top .ul-box { width: 100%; float: none; }
    .medium1 .medium1-top .ul-last, .medium1 .medium1-top .ul-next { width: 42px; }
    .endzy-ul-box { width: calc(100% - 92px); max-width: none; }
    .medium1-bottom { overflow-x: auto; }
    .medium1-bottom-top { overflow: auto; }
    .medium1-bottom-top ul { min-width: 700px; }
    .bottom .item { width: 48%; margin-right: 2%; }
}

/* Original palette and desktop geometry; readable details and keyboard focus. */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
    outline: 2px solid #e60012;
    outline-offset: 2px;
}
#Member_Company, #Member_School, #Member_Info,
#Company, #School, #Info { overflow-wrap: anywhere; word-break: normal; }
#Member_Cash, #Member_Equity_Change, #Cash, #Receivable_Fee,
#Loan_Long_Total, #Loan_Short_Total { font-variant-numeric: tabular-nums; }
#tblAdminList tbody tr:hover td, #shadow .MyTable tbody tr:hover td {
    background-color: #fff5f5;
}
input:disabled, select:disabled, button:disabled, input[readonly] {
    cursor: default;
    color: #666;
    background-color: #f3f3f3;
}

@media (max-width: 1024px) {
    .top_inner { width: 100%; }
    .top_inner img { max-width: calc(100% - 170px); }
    .user-info > span { max-width: 100%; box-sizing: border-box; overflow-wrap: anywhere; }
    .user-info .hover { width: min(320px, 80vw); box-sizing: border-box; }
    .datagrid-body, .medium1-bottom, .medium1-bottom-top {
        overscroll-behavior-x: contain;
        -webkit-overflow-scrolling: touch;
    }
    .medium1-bottom > div > table { min-width: 720px; }
    .medium { height: auto; padding-right: 0; }
    .medium > .item-box {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-bottom: 12px;
    }
    .medium .item { width: auto; float: none; margin: 0; min-width: 0; }
    .medium .item .title { text-indent: 48px; }
    .medium .item .list { margin-left: 12px; margin-right: 12px; }
    .medium > .right { position: relative; top: 0; width: 100%; height: auto; }
    .medium .right .title { background-position: right 14px center; }
    .medium .right .cwxx, .medium .right .yfrz, .medium .right .kc-info {
        width: 100%; box-sizing: border-box;
    }
    .bottom .item .content {
        width: 100%; margin: 0; padding: 0 8px 0 32px; box-sizing: border-box;
    }
    .bottom .item .content span { margin-left: 0; }
    .bottom .item img { left: 10px; }
    .nav { height: auto; overflow: visible; }
    .nav .a-box {
        position: static; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
        height: auto;
    }
    .nav .a-box a { float: none; width: auto; font-size: 14px; box-sizing: border-box; }

    #shadow, #shadow2 { overflow: auto; overscroll-behavior: contain; }
    #shadow .bg_content, #shadow2 .bg_content { display: block; height: auto; }
    #shadow .tab, #shadow2 .tab { display: block; padding: 12px; box-sizing: border-box; }
    #shadow .shadowContent, #shadow2 .shadowContent { max-width: calc(100vw - 24px); }
    #shadow .content, #shadow2 .content {
        overflow: auto; max-height: calc(100vh - 170px);
        max-height: calc(100dvh - 170px); margin: 12px;
    }
    #shadow .table-box, #shadow2 .table-box { overflow-x: auto; }
    #shadow .bt, #shadow2 .bt { min-height: 44px; padding: 10px 20px; margin-left: 12px; }
    #shadow .bton, #shadow2 .bton {
        width: 44px; height: 44px; top: 6px; right: 6px; background-position: center;
    }
    #shadow input:not([type="radio"]):not([type="checkbox"]),
    #shadow select, #shadow textarea, #shadow2 input:not([type="radio"]):not([type="checkbox"]),
    #shadow2 select, #shadow2 textarea { font-size: 16px; }
    .messager-window { max-width: calc(100vw - 24px); }
    .messager-body { overflow-wrap: anywhere; }

    .register { width: calc(100% - 24px); max-width: 878px; }
    .register_inner { padding: 12px; }
    .register_inner table, .register_inner tbody { display: block; width: 100% !important; }
    .register_inner tr { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 8px 0; padding: 8px 0; }
    .register_inner td { display: flex; align-items: center; width: auto; height: auto !important; min-height: 34px; }
    .register_inner td[colspan] { grid-column: 1 / -1; }
    .register_inner td input, .register_inner td textarea {
        width: 100%; box-sizing: border-box; margin: 0; font-size: 16px;
    }
    .register_inner td input[type="button"] { min-height: 44px; }
}
