/* v4: Consistent green header, centered landing/login, fixed-left side bar */
:root{
  --bg:#f6faf7; --card:#ffffff; --text:#1f2937; --muted:#6b7280;
  --brandA:#90edd2; --brandB:#27c798; --line:#e5e7eb;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family: 'SUITE Variable', sans-serif;}
a{color:inherit;text-decoration:none}
html {
  overflow-y: scroll;
}
.topbar--green{position:fixed;left:0;right:0;top:0;height:80px;display:flex;gap:20px;justify-content:space-between;align-items:center;padding:10px 20px;background:linear-gradient(90deg,var(--brandA),var(--brandB));color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.1);z-index:2000;font-weight:600;}
.brand{display:flex;gap:10px;align-items:center}
.brand .logo{font-size:22px}
.brand-title{font-weight:800;line-height:1}
.brand-sub{font-size:12px;opacity:.95;line-height:1}
.primary{display:flex;gap:6px;align-items:center;justify-content:right;flex:1}
.primary .navlink{padding:6px 10px;border-radius:8px}
.primary .navlink:hover{background:rgba(255,255,255,.18)}
.auth .navlink{padding:6px 10px;border-radius:8px;margin-bottom:-2px;}
.auth .navlink:hover{background:rgba(255,255,255,.18)}
.auth .navlink2{padding:6px 10px;border-radius:8px}
.auth .navlink2 span{color:#004737;}
.auth .navlink2:hover{background:rgba(255,255,255,.18)}
.auth{display:flex;align-items:center}
.auth .btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:10px;padding:6px 10px}
/*.user{margin-right:4px}*/
.header-gradient{background:linear-gradient(135deg,#4a90a4 0%,#81c784 100%)}
/* Landing */
.landing{padding-top:180px;min-height:calc(100vh -100px - 60px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}
.landing-image{max-width:min(980px,92vw);height:auto;display:block;margin:0 auto;box-shadow:0 8px 30px rgba(0,0,0,.08);border-radius:14px}
.btn{display:inline-block;padding:8px 14px;border-radius:8px;border:1px solid var(--line);background:#fff}
.btn.primary{background:#22c55e;border-color:#22c55e;color:#fff}
.btn.grey{background:#f5f5f5;}
.btn.red{background:#fecaca;border-color:#ffa2a2;}
.btn.blue{background:#caecfe;border-color:#9cddff;}

.icon-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 4px;
  color: white;        /* ���� �� */
  cursor: pointer;
}

.icon-btn .icon {
  width: 18px;
  height: 18px;
  stroke: white;       /* ������ �� ���� */
  stroke-width: 1.8;
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;vertical-align: middle; display:block;
}
a.new-register {
  width: auto;
  max-width: 111px;  /* �ʿ�� �ּ� ���� */
}

/* original-like selectable tiles with icons */
.checkbox-container, .radio-option{
  background:#fff;border:2px solid var(--border-color);border-radius:10px;
  padding:12px;cursor:pointer;display:block;transition:.2s;
}
.checkbox-container:hover, .radio-option:hover{border-color:#a5d6d9;background:#f0fbfc}
.checkbox-container.active, .radio-option.active{border-color:#22c55e;background:#f0fdf4}
.print-only{display:none}

/* Auth */
.auth-wrap{padding-top:86px;display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 100px - 60px)}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 4px 14px rgba(0,0,0,.04);}
label{display:block;margin-top:12px;font-size:14px;color:var(--muted)}
textarea{border: 1px solid var(--line);}
input{width:100%;padding:8px 12px;border-radius:8px;border:1px solid var(--line);font-size:16px}
.auth-wrap.auth-wrap h1{font-size:24px;font-weight:700;border-bottom:1px solid var(--line);margin-bottom:25px;padding-bottom:5px;}

.label_t{display:block;font-size:16px;color:var(--muted);margin-left:12px;margin-top:-2px;}
.card2{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 4px 14px rgba(0,0,0,.04);width: 320px; }
.auth-wrap label{display:block;margin:20px 0 5px 0;font-size:14px;color:var(--muted)}

/* App Shell (login after) */
.app-shell{padding-top:100px;display:block}
.sidebar{position:fixed;left:0;top:80px;bottom:60px;width:240px;background:#ffffff;border-right:1px solid var(--line);padding:12px;overflow:auto;z-index:900}
.secondary{display:flex;flex-direction:column;gap:8px;margin-top:24px}
.sublink{padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:#fff}
.sublink:hover{background:#f1f5f9}
.sublink.active{background:#10b981;border-color:#10b981;color:white}
.content{margin-left:240px;padding:16px;padding-bottom:100px;min-height:calc(100vh - 100px - 60px);overflow:auto}

/* Diagnostics embed adjustments */
.diag-embedded{padding:8px}
.float-add{margin:6px 0 12px 0;display:inline-block}
.muted{color:var(--muted);font-size:12px}

/* Footer separated */
.footer{position:fixed;left:0;right:0;bottom:0;height:60px;background:#fff;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);z-index:800}
.footer-inner{font-size:12px}

.tit_b{
  font-size: 24px;
  font-weight: 700;
  position: relative;
  padding-left: 16px; /* ���� ���� ���� */
}

.tit_b::before {
  content: "";
  position: absolute;
  left: 0;
  top: 20%;
  bottom: 20%;
  width: 6px;
  background-color: #22c55e;
  border-radius: 6px; /* �� �ձ۰� */
}

select {
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid var(--line);
    font-size: 16px;
}

.list-table th{background-color:#f9f9f9;line-height:40px;border-top:2px solid var(--line);text-align:center;}
.pager{justify-content: center; margin:20px;}
/*.pager{ display:flex; gap:6px; flex-wrap:wrap; }*/
.pager .btn{ display:inline-flex !important; width:auto !important; min-width:36px; padding:6px 10px; justify-content:center; flex:0 0 auto; }
.pager .btn.primary{ width:auto !important; }

.bg-teal-100 { background-color: #e6fffa; }
.border-teal-500 { border-color: #38b2ac; }
.text-teal-600 { color: #319795; }
.border-orange-500 { border-color: #ed8936; }
.bg-orange-100 { background-color: #fffaf0; }
.text-orange-600 { color: #dd6b20; }


.radio-title {
  font-size: 18px;   /* ���� ũ�� */
  font-weight: bold; /* ���� */
  margin-right: 10px;
  display: inline-block;
}