body,html {
    font-family: 'Arial', sans-serif;
    background: #fff;
    margin: 0;
    padding: 0;
    text-align: center;
    margin-bottom:50px
  }
  
  body,html {
    background-color: #f8f9fa;
    height: 100%;
    padding: 50px 0; 
}

li, dl{list-style:none}
  .main.container {
    max-width: 560px;
    margin: 60px auto;
    padding: 50px;
  }


  .logo img {
    width: 100%;
    vertical-align: bottom;
  }

  h1 {
    font-size: 32px;
    color: #fff;
  }
  #togglePassword{width:44px}
.form-row button{width:calc(50% - 10px)}
.form-row button:last-child{margin-left:15px}
.form-row button.btn1{margin-left:0;width:100%}
  p.tagline {
    font-weight: bold;
    color: #333;
    margin: 20px 0 30px;
    line-height: 1.6;
  }

  input[type="text"], input[type="password"] {
    width: 100%;
    padding: 14px;
    margin: 10px 0;
    border: 1px solid #ddd;
    border-radius: 6px;
    font-size: 16px;
    box-sizing: border-box;
  }

  .btn-login {
    background-color: #3366ff;
    color: white;
  }

  .btn-kakao {
    background-color: #ffe812;
    color: #222;
    margin-bottom:10px
  }

  .btn-signup {
    background-color: #ddd;
    color: #000;
  }

  .footer {
    font-size: 12px;
    color: #666;
    margin-top: 40px;
    line-height: 1.5;
  }
 
  .sidebar {
    width: 220px; background: #212a3e; color: #fff; min-height: 100vh; padding: 24px 0;
    display: flex; flex-direction: column; gap: 10px;
  }
  .sidebar h2 { font-size: 18px; margin: 0 0 20px 24px; }
  .sidebar ul { list-style: none; padding: 0 0 0 24px; margin: 0; }
  .sidebar li { margin-bottom: 12px; }
  .sidebar .active { color: #ffd600; font-weight: bold; }
  .main { flex: 1; padding: 32px 32px 32px 24px; }
  .topbar {
    display: flex; justify-content: space-between; align-items: center;
    background: #fff; padding: 16px 24px; border-radius: 8px; margin-bottom: 24px;
  }
  .topbar .actions { display: flex; gap: 12px; }
  .dashboard-cards { display: flex; gap: 24px; margin-bottom: 24px; }
  .card {
    flex: 1; background: #5a6acf; color: #fff; border-radius: 12px; padding: 32px 24px;
    display: flex; flex-direction: column; align-items: flex-start; min-height: 120px;
    font-size: 20px; font-weight: 500;
    box-shadow: 0 2px 8px rgba(90,106,207,0.08);
  }
  .card div{margin:0 auto}
  .card button{margin: 0 auto}
  .card:nth-child(2) { background: #6c63ff; }
  .card:nth-child(3) { background: #3ec6c2; }
  .card button {
    margin-top: 16px; background: #fff; color: #5a6acf; border: none; border-radius: 6px;
    padding: 8px 18px; font-size: 15px; cursor: pointer; font-weight: bold;
  }
  .row { display: flex; gap: 24px; margin-bottom: 24px; }
  .panel { background: #fff; border-radius: 10px; padding: 20px; flex: 1; }
  .panel h3 { margin-top: 0; font-size: 16px; }
  .user-panel { width: 340px; background: #fff; border-radius: 10px; padding: 24px; margin-left: 24px; }
  .user-panel .profile { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
  .user-panel .profile-img { width: 56px; height: 56px; background: #f6f6f6; border-radius: 50%; }
  .user-panel .name { font-size: 18px; font-weight: 600; }
  .user-panel .level { font-size: 14px; color: #6c63ff; margin-left: 8px; }
  .user-panel .btn { margin-top: 16px; width: 100%; background: #5a6acf; color: #fff; border: none; border-radius: 6px; padding: 10px 0; font-size: 16px; cursor: pointer; }
  .notice-list, .quick-list { font-size: 15px; }
  .notice-list li, .quick-list li { margin-bottom: 8px; }
  .stats-table { width: 100%; font-size: 14px; margin-top: 8px; }
  .stats-table th, .stats-table td { padding: 6px 8px; text-align: left; }
  .stats-table th { color: #888; }
  .content{padding:40px 0}
  .header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px; /* 필요시 조정 */
    padding: 0 40px;
    background: #fff;
    box-shadow: 0 2px 16px rgba(0,0,0,0.06);
  }
  .header h1 {
    position: absolute;
    left: 40px;
    margin: 0;
    height: 100%;
    display: flex;
    align-items: center;
  }
  nav {
    display: flex;
    justify-content: space-between;
    align-items: center; /* 이 부분이 세로 중앙 정렬을 담당합니다 */
    padding: 20px 0;
    
}

.logo {
    margin-right: auto; /* 로고를 왼쪽으로 정렬 */
}

.nav-menu {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 60px; /* 메뉴 전체 높이 */
  }
  
  .nav-menu li {
    display: flex;            /* ✅ 핵심: flex로 텍스트 정렬 */
    align-items: center;      /* ✅ 세로 중앙 정렬 */
    height: 100%;
    margin-left: 30px;
  }
  
  .nav-menu a {
    display: flex;            /* ✅ block이 아니라 flex로 해야 정확 */
    align-items: center;      /* ✅ 텍스트 수직 정렬 */
    height: 100%;             /* 부모 li 높이 따라감 */
    padding: 0 10px;          /* 좌우 여백 */
    text-decoration: none;
    color: #333;
    font-weight: 500;
  }
  .nav-menu a.btn{color:#fff;border-radius: 30px;
    padding: 0 20px;
    height: 34px;}
    .nav-menu a.btn:active{color:#fff;border-radius: 30px;
        padding: 0 20px;
        height: 34px;
        background-color: #0d6efd;}
        
        .input-group .btn{border-radius:5px!important;}
/*.btn {
    display: inline-block;
    background-color: #0d6efd;
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s;
}*/
button.btn {
    display: inline-block;
    background-color: #0d6efd;
    color: white;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    transition: background-color 0.3s;
}
.btn:hover{
    background:#0d6efd;
    color:#fff
    
}
  .nav li {
    margin: 0 12px;
  }
  .nav li a {
    color: #333;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
  }

  /* 네임스페이스: plan-section, plan-card 등으로 기존 CSS와 충돌 방지 */
  .plans { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; }
  .plan-card {
    background: #fff;
    border-radius: 8px;
    width: 300px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    display: flex;
    flex-direction: column;
  }
  .plan-header {
    padding: 16px;
    color: #fff;
    font-weight: bold;
    font-size: 16px;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
  }
  .plan-header.free { background: #1976d2; }
  .plan-header.paid { background: #d32f2f; }
  .plan-header.extra { background: #1976d2; }
  .plan-features {
    padding: 16px;
    list-style: none;
    flex: 1;
  }
  .plan-features li {
    padding: 6px 0;
    color: #333;
  }
   
  .plan-footer {
    padding: 16px;
    font-weight: bold;
  }
  .plan-action {
    padding: 0 16px 16px;
  }
  .plan-action button {
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 4px;
    font-weight: bold;
    cursor: pointer;
    color: #fff;
  }
  .btn-free { background: #1976d2; }
  .btn-paid { background: #d32f2f; }
  .btn-extra { background: #1976d2; }
  .signup-container {
      width: 360px;
      padding: 20px;
      text-align: left;
      margin: 100px auto;
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1); /* ✅ 그림자 효과 */
    }
    h1 {
      font-size: 24px;
    }
    p.tagline {
      color: #888;
      font-size: 14px;
      margin-bottom: 20px;
    }
    input[type="text"], input[type="email"], input[type="password"] {
      width: 100%;
      padding: 12px;
      margin: 8px 0;
      border: 1px solid #ddd;
      border-radius: 6px;
      font-size: 14px;
      box-sizing: border-box;
    }
    .checkbox-row {
      display: flex;
      align-items: center;
      margin: 8px 0;
      font-size: 14px;
      justify-content: space-between;
    }
    .checkbox-row label {
      display: flex;
      align-items: center;
      gap: 4px;
    }
    .checkbox-row button {
      font-size: 12px;
      padding: 4px 8px;
      border: 1px solid #ccc;
      border-radius: 4px;
      background: #f7f7f7;
      cursor: pointer;
    }
    .btn {
      width: 100%;
      padding: 14px;
      border: none;
      border-radius: 6px;
      font-size: 15px;
      font-weight: bold;
      cursor: pointer;
      color:#fff
    }
    .btn-primary {
      background: #3366ff;
      color: white;
    }
    .login-link {
      margin-top: 16px;
      font-size: 13px;
    }
    .login-link a {
      color: #3366ff;
      text-decoration: none;
      margin-left: 4px;
    }
    .required {
      color: red;
      font-size: 13px;
      margin-left: 4px;
    }

    .modal {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.4);
        display: none;
        justify-content: center;
        align-items: center;
        z-index: 9999;
      }
      .modal-content {
        background: #fff;
        padding: 24px;
        border-radius: 10px;
        width: 100%;
        max-width: 90%;
        text-align: center;
        box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
      }
      .modal-content p {
        margin-bottom: 20px;
        font-size: 14px;
        line-height: 1.6;
      }
      .modal-dialog {
        display: flex;
        align-items: center;         /* ✅ 세로 정렬 */
        justify-content: center;     /* ✅ 가로 정렬 (optional) */
        min-height: 100vh;           /* 부모 높이 기준으로 정렬 */
        margin: 0 auto;
      }
      .modal-content button {
        padding: 10px 20px;
        border: none;
        color: #fff;
        border-radius: 6px;
        cursor: pointer;
      }
      .main.container.loginBox{border: 1px solid #ccc;
        border-radius: 5px;
        margin:200px auto;    
        background:#fff
    }
        .loginBox form{text-align:left;}
        .btn1{
            padding:10px 16px; background:#007bff; color:#fff; border:none; border-radius:6px; cursor:pointer;vertical-align:bottom;height:43px;
        }
        .page-title {
            text-align: left;
            margin-bottom: 24px;
          }
          textarea {
            resize: none;
            width:100%;
            display:block;
            padding:12px;
            border-radius: 6px;
            border:1px solid #ddd
          }
          label{line-height:1.5;margin:10px 0 5px;display:block;font-weight:bold;}
          .form-group{display:block;margin-bottom:20px}
          .please{width:100%;height:42px;border-radius:6px;}

          .custom-select {
            position: relative;
            display: inline-block;
            width: 100%;
          }
          
          .custom-select select {
            width: 100%;
            padding: 12px 12px 12px 36px; /* 왼쪽 패딩 확보 */
            font-size: 14px;
            border: 1px solid #ccc;
            border-radius: 6px;
            appearance: none;         /* 기본 화살표 제거 */
            -webkit-appearance: none;
            -moz-appearance: none;
            background: none;
          }
          
          .custom-select::before {
            content: "▾"; /* 유니코드 화살표 */
            position: absolute;
            left: 12px;
            top: 50%;
            transform: translateY(-50%);
            pointer-events: none;
            font-size: 12px;
            color: #666;
          }

          
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Arial', sans-serif;
        }
        
        body {
            color: #333;
            line-height: 1.6;
        }
        
        header {
            background-color: #fff;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
            position: fixed;
            width: 100%;
            top: 0;
            z-index: 1000;
        }
        .subscriberJoinWrap{padding:140px 0}
        .container {
            width: 90%;
            max-width: 1200px;
            margin: 0 auto;
        }
        
        nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
            justify-content: space-between;
            padding: 20px 0;
        }
        
        .logo {
            font-size: 24px;
            font-weight: bold;
            color: #0d6efd;
        }
        
        .nav-menu {
            display: flex;
            list-style: none;
        }
        
        .nav-menu li {
            margin-left: 30px;
        }
        
        .nav-menu a {
            text-decoration: none;
            font-weight: 500;
            transition: color 0.3s;
        }
        
        /*
        .btn {
            display: inline-block;
            color: white;
            padding: 10px 20px;
            border-radius: 5px;
            text-decoration: none;
            font-weight: bold;
            transition: background-color 0.3s;
        }*/
        .sub1{padding:0}
        .sub1 .container{width:100%;max-width:100%}
    .btn-kakao {
        background: #ffe812;
        color: #000;
        margin-top: 10px;
      }
        
        /* 슬라이더 스타일 */
        .swiper {
            width: 100%;
            height: 600px;
        }
        
        .swiper-slide {
            display: flex;
            align-items: center;
            justify-content: center;
            background-size: cover;
            background-position: center;
            color: white;
            position: relative;
        }
        
        .swiper-slide::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
        }
        
        .slide-content {
            position: relative;
            z-index: 1;
            text-align: center;
            padding: 0 20px;
            max-width: 800px;
        }
        
        .slide-content h1 {
            font-size: 48px;
            margin-bottom: 20px;
        }
        
        .slide-content p {
            font-size: 20px;
            margin-bottom: 30px;
        }
        
        /* 8대 경영지표 섹션 */
        .kpi-section {
            padding: 80px 0;
            background-color: #f9f9f9;
        }
        
        .kpi-title {
            text-align: center;
            margin-bottom: 50px;
        }
        
        .kpi-title h2 {
            font-size: 36px;
            color: #0d6efd;
            margin-bottom: 15px;
        }
        
        .kpi-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 30px;
        }
        
        .kpi-card {
            background-color: white;
            border-radius: 10px;
            padding: 30px;
            text-align: center;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            transition: transform 0.3s;
        }
        
        .kpi-card:hover {
            transform: translateY(-10px);
        }
        
        .kpi-icon {
            font-size: 50px;
            color: #0d6efd;
            margin-bottom: 20px;
        }
        
        .kpi-value {
            font-size: 36px;
            font-weight: bold;
            color: #0d6efd;
            margin-bottom: 10px;
        }
        
        .kpi-label {
            font-size: 18px;
            color: #555;
        }
        
        /* 서비스 섹션 스타일 */
        .services {
            padding: 80px 0;
        }
        
        .section-title {
            text-align: center;
            margin-bottom: 50px;
        }
        
        .section-title h2 {
            font-size: 36px;
            color: #0d6efd;
            margin-bottom: 15px;
        }
        
        .services-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 30px;
        }
        
        .service-card {
            background-color: #fff;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
            transition: transform 0.3s;
        }
        
        .service-card:hover {
            transform: translateY(-10px);
        }
        
        .service-img {
            height: 200px;
            background-size: cover;
            background-position: center;
        }
        
        .service-content {
            padding: 25px;
        }
        
        .service-card h3 {
            font-size: 22px;
            margin-bottom: 15px;
            color: #0d6efd;
        }
        
        /* 기타 섹션 스타일 */
        .about {
            padding: 80px 0;
        }
        
        .about-content {
            display: flex;
            align-items: center;
            gap: 50px;
        }
        
        .about-text {
            flex: 1;
        }
        nav{display: flex;
            justify-content: center; /* 가로 중앙 정렬 */
            align-items: center; }
        .about-img {
            flex: 1;
            height: 400px;
            background-image: url('https://images.unsplash.com/photo-1588776814546-1ffcf47267a5?ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D&auto=format&fit=crop&w=1470&q=80');
            background-size: cover;
            background-position: center;
            border-radius: 10px;
        }
        
        .contact {
            background-color: #0d6efd;
            color: white;
            padding: 80px 0;
            text-align: center;
        }
        
        .contact .btn {
            background-color: white;
            color: #0d6efd;
        }
        
        footer {
            background-color: #1a1a1a;
            color: white;
            padding: 50px 0 20px;
            text-align: center;
        }
        
        .footer-links {
            display: flex;
            justify-content: center;
            margin-bottom: 30px;
        }
        
        .footer-links a {
            color: white;
            margin: 0 15px;
            text-decoration: none;
        }
        
        .copyright {
            margin-top: 20px;
            font-size: 14px;
            opacity: 0.8;
        }
        
        .signup-container {
            max-width: 700px;
            width:100%;
            text-align:left;
            margin: 50px auto;
            padding: 30px;
            background-color: white;
            border-radius: 10px;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        }
        .signup-container .signup-title{text-align: left;}
        .signup-title {
            text-align: center;
            margin-bottom: 30px;
            color: #333;
        }
        .form-label {
            font-weight: 500;
        }
        .signup-btn {
            width: 100%;
            padding: 10px;
            font-weight: 600;
        }
        .input-group-text {
            cursor: pointer;
            margin:8px 0
        }
        .terms-text {
            font-size: 0.9rem;
            color: #666;
        }
        
        .signup-container {
            max-width: 500px;
            margin: 50px auto;
            padding: 30px;
            background-color: white;
            border-radius: 10px;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        }
        .signup-title {
            text-align: center;
            margin-bottom: 30px;
            color: #333;
        }
        .form-label {
            font-weight: 500;
        }
        .signup-btn {
            width: 100%;
            padding: 10px;
            font-weight: 600;
        }
        .input-group-text {
            cursor: pointer;
        }
        .terms-text {
            font-size: 0.9rem;
            color: #666;
        }
        .signup-container .signup-title{position: relative;}
        .fa-user-plus:before{
            left: 0;
            content:"";
            display:block;
        }
        
        .login-container {
            width: 100%;
            max-width: 400px;
            padding: 30px;
            background-color: white;
            border-radius: 10px;
            box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
        }
        .login-title {
            text-align: center;
            margin-bottom: 30px;
            color: #333;
        }
        .login-logo {
            font-size: 2.5rem;
            color: #0d6efd;
            margin-bottom: 15px;
        }
        .form-label {
            font-weight: 500;
        }
        .login-btn {
            width: 100%;
            padding: 10px;
            font-weight: 600;
        }
        .input-group-text {
            cursor: pointer;
        }
        .social-login {
            display: flex;
            justify-content: center;
            gap: 15px;
            margin-top: 20px;
        }
        .social-icon {
            font-size: 1.5rem;
            color: #555;
            transition: color 0.3s;
        }
        .social-icon:hover {
            color: #0d6efd;
        }
        .divider {
            display: flex;
            align-items: center;
            margin: 20px 0;
        }
        .divider::before, .divider::after {
            content: "";
            flex: 1;
            border-bottom: 1px solid #ddd;
        }
        .divider-text {
            padding: 0 10px;
            color: #777;
            font-size: 0.9rem;
        }
        .form-check-label{text-align:left;}
        .login-container{text-align: left;}
        
    .kakaoBtn{    background: #FEE500;padding:0}
    .kakaoBtn:hover{background: #FEE500}
  @media (max-width: 1000px) {
    .plan-cards {
      flex-direction: column;
      align-items: center;
      gap: 32px;
    }
    .plan-card { width: 90%; }
  }