
:root{--red:#c8102e;--red2:#a90d26;--ink:#20232a;--muted:#9297a0;--line:#e9eaed}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Pretendard,"Noto Sans KR","Malgun Gothic",Arial,sans-serif;background:#fff;color:var(--ink)}
body{min-height:100vh}
a{text-decoration:none;color:inherit}
button{font:inherit}
.hub-page{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 50% 35%,rgba(200,16,46,.035),transparent 30%),#fff}
.red-bar{height:5px;background:var(--red)}
.hub-main{flex:1;width:min(1320px,calc(100% - 54px));margin:0 auto;display:flex;flex-direction:column;justify-content:center;padding:52px 0}
.identity{text-align:center}
.company-logo{display:block;width:min(430px,82vw);height:auto;margin:0 auto;mix-blend-mode:multiply}
.system-title{font-size:27px;font-weight:900;letter-spacing:-1.3px;margin-top:17px}
.identity p{margin:7px 0 0;color:#969aa3;font-size:11px}
.menu-row{display:grid;grid-template-columns:1fr 1fr 1fr 82px;gap:15px;margin-top:52px;align-items:center}
.menu-pill{min-height:112px;border:1px solid var(--line);border-radius:999px;background:#fff;padding:15px 19px;display:grid;grid-template-columns:60px 1fr 30px;gap:14px;align-items:center;box-shadow:0 5px 20px rgba(34,37,45,.04);transition:.22s ease;position:relative;overflow:hidden}
.menu-pill:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(200,16,46,.04),transparent 42%);opacity:0;transition:.2s}
.menu-pill:hover{transform:translateY(-4px);border-color:#e7b5bf;box-shadow:0 16px 38px rgba(70,35,42,.10)}
.menu-pill:hover:before{opacity:1}
.circle{width:58px;height:58px;border-radius:50%;border:2px solid var(--red);display:grid;place-items:center;color:var(--red);font-size:20px;font-weight:950;position:relative;z-index:1}
.circle:after{content:"";position:absolute;inset:6px;border:1px solid rgba(200,16,46,.26);border-radius:50%}
.menu-copy{min-width:0;position:relative;z-index:1}
.menu-copy small{display:block;color:#a6aab2;font-size:7px;letter-spacing:1px;font-weight:900}
.menu-copy b{display:block;font-size:18px;letter-spacing:-.7px;margin-top:3px}
.menu-copy em{display:block;font-style:normal;font-size:9px;color:#626873;margin-top:2px;font-weight:750}
.arrow{font-size:22px;color:#b6bac1;position:relative;z-index:1;transition:.2s}
.menu-pill:hover .arrow{color:var(--red);transform:translateX(3px)}
.plus-pill{border:0;background:transparent;padding:0;cursor:pointer;display:grid;place-items:center}
.plus-pill span{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:#fff;font-size:36px;font-weight:250;box-shadow:0 12px 25px rgba(200,16,46,.17);transition:.2s}
.plus-pill:hover span{transform:scale(1.05);background:var(--red2)}
footer{width:min(1320px,calc(100% - 54px));margin:0 auto;border-top:1px solid #eee;padding:18px 0 23px;display:flex;justify-content:space-between;color:#a6aab2;font-size:8px;font-weight:800;letter-spacing:.6px}
.modal{display:none;position:fixed;inset:0;z-index:100;place-items:center}
.modal.show{display:grid}
.backdrop{position:absolute;inset:0;background:rgba(20,22,28,.42);backdrop-filter:blur(4px)}
.modal-box{position:relative;z-index:1;width:min(430px,calc(100% - 34px));background:#fff;border-radius:24px;padding:34px;text-align:center;box-shadow:0 30px 90px rgba(0,0,0,.2)}
.x{position:absolute;right:15px;top:10px;border:0;background:none;font-size:28px;color:#999;cursor:pointer}
.modal-plus{width:62px;height:62px;border-radius:50%;margin:0 auto 15px;background:var(--red);color:#fff;display:grid;place-items:center;font-size:34px}
.modal-box small{font-size:8px;color:var(--red);font-weight:950;letter-spacing:1.4px}
.modal-box h2{font-size:20px;margin:7px 0 10px}
.modal-box p{font-size:11px;color:#777d87;line-height:1.7;margin:0}
.ok{margin-top:20px;border:0;background:var(--red);color:#fff;border-radius:11px;padding:11px 27px;font-size:11px;font-weight:900;cursor:pointer}

.dev-login-page{min-height:100vh;display:grid;place-items:center;background:#f6f6f7;padding:24px}
.dev-login-card{width:min(430px,100%);background:#fff;border:1px solid #e7e8eb;border-radius:24px;padding:34px;box-shadow:0 20px 60px rgba(33,36,45,.08)}
.dev-login-ci{width:255px;display:block;margin:0 auto 25px;mix-blend-mode:multiply}
.dev-login-tag{text-align:center;color:var(--red);font-size:8px;font-weight:950;letter-spacing:1.4px}
.dev-login-card h1{text-align:center;font-size:22px;margin:7px 0 4px;letter-spacing:-.7px}
.dev-login-card .desc{text-align:center;font-size:10px;color:#8b9099;margin-bottom:24px}
.dev-login-card label{display:block;font-size:9px;font-weight:850;color:#5f6672;margin:12px 0 6px}
.dev-login-card input{width:100%;height:45px;border:1px solid #dde0e5;border-radius:11px;padding:0 13px;font-size:13px;outline:none}
.dev-login-card input:focus{border-color:#cf7184;box-shadow:0 0 0 3px rgba(200,16,46,.07)}
.dev-login-submit{width:100%;height:46px;border:0;border-radius:11px;background:var(--red);color:#fff;font-size:12px;font-weight:900;margin-top:18px;cursor:pointer}
.dev-login-error{background:#fff0f1;border:1px solid #f2c9cf;color:#a21b32;border-radius:10px;padding:10px 12px;font-size:10px;margin-bottom:10px}
.dev-login-back{display:block;text-align:center;margin-top:15px;font-size:9px;color:#9297a0}

@media(max-width:1050px){
 .menu-row{grid-template-columns:1fr 1fr}
 .plus-pill{min-height:112px}
 .menu-pill{border-radius:26px}
}
@media(max-width:620px){
 .hub-main{width:calc(100% - 28px);padding:38px 0 34px;justify-content:flex-start}
 .company-logo{width:min(335px,88vw)}
 .system-title{font-size:22px;margin-top:11px}
 .identity p{font-size:10px;line-height:1.6}
 .menu-row{grid-template-columns:1fr;gap:10px;margin-top:34px}
 .menu-pill{min-height:102px;border-radius:22px;padding:13px 16px;grid-template-columns:54px 1fr 26px}
 .circle{width:52px;height:52px}
 .menu-copy b{font-size:16px}
 .menu-copy em{font-size:9px}
 .plus-pill{min-height:82px}
 .plus-pill span{width:58px;height:58px}
 footer{width:calc(100% - 28px);flex-direction:column;align-items:center;text-align:center;gap:5px}
}
