:root {
    --navy:#182a40;
    --muted:#6e7c8c;
    --red:#bf3436;
    --red-dark:#a72529;
    --line:#e6eaf0;
    --bg:#f4f7fb
}


* {
    box-sizing:border-box
}

body {
    margin:0;
    font-family:'Malgun Gothic','맑은 고딕',Arial,sans-serif;
    color:var(--navy);
    background:var(--bg)
}

a {
    text-decoration:none;
    color:inherit
}

.site-shell {
    max-width:1220px;
    margin:auto;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    padding:0 24px
}

.topbar {
    height:96px;
    display:flex;
    align-items:center;
    justify-content:space-between
}

.brand {
    display:flex;
    gap:12px;
    align-items:center
}

.brand-mark {
    width:45px;
    height:45px;
    border-radius:13px;
    background:linear-gradient(135deg,#e45450,#a92230);
    display:grid;
    place-items:center;
    color:white;
    font-weight:900;
    font-size:27px;
    box-shadow:0 8px 16px #a32a2a28
}

.brand strong {
    display:block;
    letter-spacing:-.4px;
    font-size:21px
}

.brand small {
    display:block;
    font-size:10px;
    letter-spacing:1.5px;
    color:#8592a2;
    margin-top:4px
}

.system-pill {
    border:1px solid var(--line);
    border-radius:40px;
    padding:10px 16px;
    background:white;
    font-size:12px;
    color:#708094
}

.navigation {
    height:58px;
    display:flex;
    align-items:center;
    gap:7px;
    background:white;
    border:1px solid var(--line);
    border-radius:14px;
    padding:7px;
    box-shadow:0 6px 24px #1c38520b
}

.navigation a,.navigation span {
    display:flex;
    align-items:center;
    height:42px;
    padding:0 24px;
    border-radius:9px;
    font-size:13px;
    font-weight:700
}

.navigation .active {
    background:var(--red);
    color:white
}

.navigation a:hover:not(.active) {
    background:#f5f5f7
}

.nav-disabled {
    color:#9aa5b2;
    cursor:default
}

.main-area {
    flex:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) 390px;
    gap:48px;
    align-items:center;
    padding:90px 30px 80px
}

.intro .eyebrow {
    font-size:12px;
    font-weight:bold;
    letter-spacing:2px;
    color:var(--red)
}

.intro h1 {
    font-size:46px;
    line-height:1.36;
    letter-spacing:-2.4px;
    margin:26px 0 20px
}

.intro h1 em {
    font-style:normal;
    color:var(--red)
}

.intro p {
    color:var(--muted);
    font-size:15px;
    line-height:2
}

.intro-chips {
    display:flex;
    gap:8px;
    margin-top:34px;
    flex-wrap:wrap
}

.intro-chips span {
    font-size:12px;
    color:#64768a;
    background:#eaf0f7;
    border:1px solid #dfe7ef;
    padding:10px 13px;
    border-radius:30px
}

.login-card {
    background:#fff;
    border:1px solid #edf0f4;
    border-radius:22px;
    padding:39px;
    box-shadow:0 22px 55px #263d5720
}

.card-label {
    font-size:11px;
    color:var(--red);
    font-weight:800;
    letter-spacing:2px
}

.login-card h2 {
    font-size:25px;
    letter-spacing:-1px;
    margin:13px 0 10px
}

.card-subtitle {
    font-size:12px;
    color:#8793a0;
    line-height:1.75;
    margin:0 0 29px
}

.login-card label {
    display:block;
    font-size:12px;
    font-weight:bold;
    margin:17px 0 9px
}

.form-control {
    width:100%;
    height:48px;
    border:1px solid #dde3ec;
    background:#fafbfd;
    border-radius:10px;
    padding:0 14px;
    font-size:14px;
    outline:none
}

.form-control:focus {
    border-color:var(--red);
    background:white;
    box-shadow:0 0 0 3px #bf343617
}

.login-btn {
    margin-top:24px;
    width:100%;
    height:49px;
    background:var(--red);
    border:0;
    border-radius:10px;
    color:#fff;
    cursor:pointer;
    font-weight:bold;
    font-size:14px
}

.login-btn:hover {
    background:var(--red-dark)
}

.link-btn {
    display:grid;
    place-items:center
}

.error-message {
    display:block;
    color:#b4232b;
    font-size:12px;
    line-height:1.6;
    margin-top:12px
}

.login-help {
    margin-top:18px;
    color:#929da9;
    text-align:center;
    font-size:11px
}

.signed-tip {
    background:#f4f7fb;
    border-radius:9px;
    padding:13px;
    color:#6e7c8c;
    font-size:12px;
    line-height:1.8
}

.logout-link {
    display:block;
    text-align:center;
    padding:15px;
    color:#8793a0;
    font-size:12px
}

.future-notice {
    background:white;
    border:1px solid var(--line);
    padding:21px 27px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}

.future-notice div {
    display:flex;
    align-items:center;
    gap:13px;
    flex-wrap:wrap
}

.tiny-dot {
    width:7px;
    height:7px;
    background:var(--red);
    border-radius:50%
}

.future-notice strong {
    font-size:14px
}

.future-notice small {
    color:#8793a0;
    font-size:12px
}

.coming-soon {
    font-size:10px;
    color:#a1a9b5;
    letter-spacing:1.4px;
    white-space:nowrap
}



@media(max-width:820px) {
    .main-area {
    grid-template-columns:1fr;
    gap:30px;
    padding:55px 4px
}

.intro h1 {
    font-size:35px
}

.login-card {
    max-width:460px;
    width:100%;
    justify-self:center
}

.topbar {
    height:80px
}

.navigation {
    overflow:auto
}

.navigation a,.navigation span {
    padding:0 14px;
    white-space:nowrap
}


}

@media(max-width:480px) {
    .site-shell {
    padding:0 14px
}

.system-pill {
    display:none
}

.intro h1 {
    font-size:31px
}

.intro p {
    font-size:13px
}

.login-card {
    padding:26px
}

.future-notice {
    padding:18px
}

.coming-soon {
    display:none
}

footer span {
    display:none
}


}



/* ASEEN 로고 및 로그인 입력 편의 */
.brand-logo  {
     display:block;
     width:160px;
     max-width:100%;
     height:44px;
     object-fit:contain;
}


.brand-caption  {
     color:#8390a0;
     font-size:11px;
     font-weight:700;
     letter-spacing:.7px;
}


#TxtLoginId  {
     ime-mode:disabled;
}


@media(max-width:480px)  {
     .brand-logo  {
     width:160px;
}

 .brand-caption  {
     display:none;
}

 
}




/* =====================================================
   OMS 로그인 - 아이디 저장
   ===================================================== */


   .remember-id {
    display: flex;
    align-items: center;
    margin: 10px 0 16px;
}

.remember-id span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.remember-id input[type="checkbox"] {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
    accent-color: #c82333;
    cursor: pointer;
}

.remember-id label {
    display: inline-block;
    width: auto;
    margin: 0;
    padding: 0;
    font-size: 13px;
    font-weight: 500;
    line-height: 16px;
    white-space: nowrap;
    color: #475569;
    cursor: pointer;
}


/* =====================================================
   OMS 회사정보 Footer
   ===================================================== */

   .oms-footer {
    width: 100%;
    margin: 36px auto 0;
    padding: 22px 16px 26px;

    text-align: center;
    font-size: 12px;
    line-height: 1.9;
    color: #64748b;

    border-top: 1px solid #e2e8f0;
}

.oms-footer-company {
    font-weight: 600;
    color: #475569;
}

.oms-footer-info {
    font-weight: 400;
}

.footer-divider {
    display: inline-block;
    margin: 0 8px;
    color: #cbd5e1;
}

.oms-footer-copy {
    margin-top: 8px;
    font-size: 11px;
    color: #94a3b8;
}

@media (max-width: 640px) {
    .oms-footer {
        padding: 18px 12px;
        font-size: 11px;
    }

    .footer-divider {
        margin: 0 4px;
    }
}
