*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#12223a;font-family:Pretendard,"Noto Sans KR",Arial,sans-serif}a{text-decoration:none;color:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:258px;flex-shrink:0;background:linear-gradient(170deg,#081c35,#102e50);color:#d4e0ed;position:relative;min-height:100vh;padding:26px 14px}.brand{padding:0 13px 34px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.brand img{max-width:132px;max-height:45px;object-fit:contain}.brand>span{font-size:20px;font-weight:300}.brand small{width:100%;font-size:9px;letter-spacing:2px;color:#95aec8}.navtitle{font-size:10px;letter-spacing:2px;color:#7898b6;margin:15px 16px}.bottom-title{margin-top:36px}nav a{display:flex;align-items:center;gap:16px;padding:15px 17px;border-radius:11px;font-size:15px;margin:4px 0;transition:.2s}nav a:hover,nav a.active{background:#205d9b;color:white}nav a span{flex:1}.sidefoot{position:absolute;bottom:25px;left:28px;color:#89a4bc;font-size:12px;line-height:2}.main{min-width:0;flex:1}header{height:74px;background:white;border-bottom:1px solid #e8edf4;display:flex;align-items:center;justify-content:space-between;padding:0 34px}.crumb{font-size:13px;color:#8190a4}.crumb span{margin:0 10px;color:#b5c1d0}.crumb b{color:#20354f}.user{display:flex;align-items:center;gap:15px;font-size:12px;color:#69798b}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#dcecff;color:#2460a1;font-weight:bold}.logout{border:1px solid #dbe3ef;border-radius:8px;background:white;padding:8px 12px;cursor:pointer}#menu{display:none;background:none;border:0;font-size:22px}main{max-width:1510px;padding:32px;margin:auto}.intro{background:radial-gradient(circle at 95% 20%,#d7eaff,transparent 45%),linear-gradient(110deg,#e5f0ff,#f6fbff);border:1px solid #dbe9f9;border-radius:18px;padding:44px 48px;min-height:230px}.eyebrow{font-size:12px;letter-spacing:4px;color:#4379b7;font-weight:700}.intro h1{font-size:32px;margin:16px 0 12px;letter-spacing:-1px}.intro em{font-style:normal;color:#1169c4}.intro p{color:#61738c;margin-bottom:20px}.pill{background:white;border:1px solid #cfe2fa;color:#1768b4;border-radius:30px;padding:7px 12px;font-size:11px}.sectionhead{display:flex;justify-content:space-between;align-items:center;margin:30px 2px 17px}.sectionhead h2{font-size:19px;margin:0}.sectionhead span{color:#8593a6;font-size:12px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{position:relative;min-height:180px;background:white;border:1px solid #e6ecf3;border-radius:15px;padding:24px 19px;box-shadow:0 6px 20px #142f5310;transition:.2s}.card:hover{transform:translateY(-3px);box-shadow:0 12px 25px #142f5320}.icon{width:54px;height:54px;display:grid;place-items:center;color:white;font-size:29px;border-radius:14px;margin-bottom:18px}.blue{background:linear-gradient(135deg,#5db4ff,#2074e8)}.green{background:linear-gradient(135deg,#26d4a3,#00936f)}.purple{background:linear-gradient(135deg,#bd8aff,#7945d6)}.orange{background:linear-gradient(135deg,#ffb95c,#f17822)}.card strong{font-size:17px}.card p{font-size:12px;color:#7b8ca1;margin:8px 0 14px}.card small{font-size:11px;color:#a0aabd}.card small.live{color:#009f77}.arrow{position:absolute;right:22px;top:28px;color:#92a9c2}.lower{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.panel{background:white;border:1px solid #e6ecf3;border-radius:15px;padding:24px;min-height:250px}.panelhead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf1f5;padding-bottom:17px}.panelhead h3{margin:0;font-size:16px}.panelhead span{font-size:11px;color:#95a3b4}.status{display:flex;gap:13px;align-items:center;padding:20px 0;border-bottom:1px solid #f0f3f7;font-size:12px}.status b{min-width:95px}.status>span:nth-last-child(2){color:#8492a4;flex:1}.status a{color:#1476d4}.dot{width:9px;height:9px;border-radius:50%}.green-dot{background:#12bc91}.amber-dot{background:#ffad34}.gray-dot{background:#aab6c5}.notice{padding:15px 0;border-bottom:1px solid #f0f3f7}.notice b{font-size:13px}.notice p{font-size:12px;color:#8291a4;margin:7px 0 0;line-height:1.6}footer{display:flex;justify-content:space-between;font-size:11px;color:#a4b0bf;padding:30px 2px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#173b61;color:white;padding:13px 22px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(145deg,#071c36,#1e5485)}.login-box{width:min(420px,92vw);background:white;border-radius:20px;padding:38px;box-shadow:0 20px 80px #0004}.login-box img{max-width:160px;max-height:60px;object-fit:contain}.login-box h1{margin:20px 0 6px}.login-box p{color:#77879b;margin-bottom:26px}.login-box label{display:block;font-size:13px;font-weight:600;margin:16px 0}.login-box input{display:block;width:100%;margin-top:8px;border:1px solid #d8e2ef;border-radius:9px;padding:13px;font-size:15px}.primary{width:100%;background:#1768b9;color:white;border:0;border-radius:9px;padding:14px;cursor:pointer;font-weight:bold;margin-top:12px}.error{background:#fff0f0;color:#b52222;padding:12px;border-radius:8px;font-size:13px}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.sidebar{position:fixed;left:-270px;top:0;bottom:0;z-index:5;transition:left .2s}.sidebar.open{left:0}#menu{display:block}header{height:65px;padding:0 16px}.crumb{display:none}.user{margin-left:auto}.user>span:first-child{display:none}.user b{display:none}main{padding:18px}.intro{padding:30px 24px;min-height:205px}.intro h1{font-size:24px}.cards{gap:12px}.card{padding:16px;min-height:176px}.card strong{font-size:15px}.card p{font-size:11px}.lower{grid-template-columns:1fr}.sectionhead span{display:none}footer span{display:none}}
/* IONEX unified menu font */
.sidebar .nav a, .sidebar .nav a span { font-size: 17px !important; }

/* IONEX sidebar menu 17px */
.sidebar nav a, .sidebar nav a span { font-size: 17px !important; }


/* IONEX Inventory V2.6 design standard */

/* 전체 화면 */
body {
    background: #f3f6fb;
    font-family: Arial, "Malgun Gothic", sans-serif;
}

/* 사이드바 */
.sidebar {
    width: 244px;
    flex: 0 0 244px;
    background: linear-gradient(165deg,#0a1d37,#153356);
    padding: 22px 13px;
}

.brand {
    padding: 7px 11px 27px;
    gap: 8px;
}

.brand img {
    width: 104px;
    max-width: 104px;
    max-height: 43px;
    background: white;
    border-radius: 5px;
    padding: 3px;
}

.brand > span {
    font-size: 18px;
    font-weight: 600;
}

.navtitle {
    font-size: 12px;
    letter-spacing: 1.2px;
    margin: 20px 12px 10px;
}

.sidebar nav a {
    font-size: 17px !important;
    line-height: 1.35;
    padding: 15px 16px;
    border-radius: 9px;
    margin: 4px 0;
}

.sidebar nav a:hover,
.sidebar nav a.active {
    background: #255f9e;
}

/* 상단 헤더 */
.main > header {
    height: 70px;
    padding: 0 28px;
    border-bottom: 1px solid #e1e9f2;
}

/* 본문 */
.main > main {
    max-width: none;
    padding: 24px 26px;
}

/* 제목 */
.intro h1 {
    font-size: 29px;
    line-height: 1.3;
}

.sectionhead h2 {
    font-size: 21px;
}

/* 카드 */
.card,
.panel {
    border: 1px solid #e1e9f2;
    border-radius: 14px;
    box-shadow: 0 5px 18px #16375b0c;
}

.card {
    padding: 25px;
}

/* 모바일 */
@media (max-width: 700px) {
    .sidebar {
        left: -260px;
    }

    .sidebar.open {
        left: 0;
    }

    .main > header {
        height: 65px;
        padding: 0 16px;
    }

    .main > main {
        padding: 18px;
    }
}
