Merge branch 'design' of ssh://172.30.1.50:2222/djb-eapim/eapim-portal into design

# Conflicts:
#	src/main/resources/static/css/main.css.map
This commit is contained in:
Rinjae
2026-07-29 19:32:08 +09:00
20 changed files with 1869 additions and 1390 deletions
+388 -246
View File
@@ -2927,6 +2927,13 @@ hr {
transform: translateY(-2px);
color: #fff;
}
.btn-action-primary:disabled {
background: #cbd5e1 !important;
color: #94a3b8 !important;
cursor: not-allowed !important;
transform: none !important;
pointer-events: none !important;
}
.btn-action-primary.md {
font-size: 14px;
padding: 11px 45px;
@@ -5286,6 +5293,69 @@ select.form-control {
transform: translateY(0);
}
}
.password-policy-checklist {
list-style: none;
padding: 0;
margin: 12px 0 0 0;
}
.password-policy-checklist li {
display: flex;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 20px;
margin-bottom: 6px;
transition: color 0.15s ease;
}
.password-policy-checklist li:last-child {
margin-bottom: 0;
}
.password-policy-checklist li .policy-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
font-size: 13px;
font-weight: 700;
line-height: 1;
}
.password-policy-checklist li .policy-icon::before {
content: "•";
}
.password-policy-checklist li.is-idle {
color: #718096;
}
.password-policy-checklist li.is-idle .policy-icon {
color: #a0aec0;
}
.password-policy-checklist li.is-pass {
color: #1a8f4c;
}
.password-policy-checklist li.is-pass .policy-icon {
color: #1a8f4c;
}
.password-policy-checklist li.is-pass .policy-icon::before {
content: "✔";
}
.password-policy-checklist li.is-fail {
color: #d63a3a;
}
.password-policy-checklist li.is-fail .policy-icon {
color: #d63a3a;
}
.password-policy-checklist li.is-fail .policy-icon::before {
content: "✖";
}
.password-policy-note {
margin: 10px 0 0 0;
font-size: 14px;
line-height: 18px;
color: #ef5555;
}
.auth-group {
display: flex;
align-items: center;
@@ -7917,69 +7987,6 @@ button.djb-comment-submit:disabled {
margin-bottom: 22px;
}
}
.password-policy-checklist {
list-style: none;
padding: 0;
margin: 12px 0 0 0;
}
.password-policy-checklist li {
display: flex;
align-items: center;
gap: 8px;
font-size: 15px;
line-height: 20px;
margin-bottom: 6px;
transition: color 0.15s ease;
}
.password-policy-checklist li:last-child {
margin-bottom: 0;
}
.password-policy-checklist li .policy-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
font-size: 13px;
font-weight: 700;
line-height: 1;
}
.password-policy-checklist li .policy-icon::before {
content: "•";
}
.password-policy-checklist li.is-idle {
color: #888;
}
.password-policy-checklist li.is-idle .policy-icon {
color: #b5b5b5;
}
.password-policy-checklist li.is-pass {
color: #1a8f4c;
}
.password-policy-checklist li.is-pass .policy-icon {
color: #1a8f4c;
}
.password-policy-checklist li.is-pass .policy-icon::before {
content: "✔";
}
.password-policy-checklist li.is-fail {
color: #d63a3a;
}
.password-policy-checklist li.is-fail .policy-icon {
color: #d63a3a;
}
.password-policy-checklist li.is-fail .policy-icon::before {
content: "✖";
}
.password-policy-note {
margin: 10px 0 0 0;
font-size: 14px;
line-height: 18px;
color: #888;
}
.hero-carousel-section {
position: relative;
width: 100%;
@@ -13012,16 +13019,14 @@ body.index-page-body {
}
}
.signup-selection-page {
min-height: calc(100vh - 380px);
display: flex;
align-items: center;
justify-content: center;
background: #EDF9FE;
padding: 30px 20px;
padding: 100px 20px;
position: relative;
border-radius: 12px;
margin-top: 30px;
margin-bottom: 30px;
margin-top: 60px;
margin-bottom: 50px;
}
.signup-selection-container {
@@ -13044,104 +13049,195 @@ body.index-page-body {
}
}
.signup-logo {
width: 90px;
height: 90px;
margin-bottom: 15px;
}
.signup-logo img {
.signup-header {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 40px;
width: 100%;
height: 100%;
object-fit: contain;
}
.signup-title-row {
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
margin-bottom: 12px;
color: #000000;
}
.signup-title-row .signup-title-icon {
color: #000000;
flex-shrink: 0;
}
.signup-title-row .signup-title {
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size: 36px;
font-weight: 700;
color: #000000;
margin: 0;
letter-spacing: -0.5px;
}
.signup-message {
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size: 20px;
font-size: 16px;
font-weight: 400;
color: #000000;
color: #718096;
text-align: center;
margin-bottom: 20px;
line-height: 1;
margin: 0;
line-height: 1.5;
}
.signup-buttons {
.signup-cards {
width: 100%;
max-width: 504px;
max-width: 760px;
display: flex;
flex-direction: row;
gap: 28px;
margin-bottom: 45px;
justify-content: center;
}
.signup-card-item {
flex: 1;
background: #FFFFFF;
border: 1px solid rgba(226, 232, 240, 0.8);
border-radius: 24px;
padding: 45px 30px;
display: flex;
flex-direction: column;
gap: 20px;
margin-bottom: 30px;
}
.signup-btn {
width: 100%;
height: 80px;
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
padding: 10px;
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size: 20px;
font-weight: 700;
color: #FFFFFF;
text-align: center;
text-decoration: none;
border-radius: 12px;
transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
color: #1A202C;
cursor: pointer;
transition: all 0.3s ease;
line-height: 1;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
position: relative;
overflow: hidden;
}
.signup-btn:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
.signup-card-item::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(circle at top right, rgba(255, 255, 255, 0.8), transparent 70%);
opacity: 0;
transition: opacity 0.4s ease;
pointer-events: none;
}
.signup-btn:active {
transform: translateY(0);
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}
.signup-btn .signup-btn-icon {
width: 26px;
height: 30px;
flex-shrink: 0;
}
.signup-btn span {
white-space: nowrap;
}
.signup-btn-individual {
background: #0049B4;
}
.signup-btn-organization {
background: #00A1D7;
}
.signup-navigation {
.signup-card-item .card-icon-wrapper {
width: 76px;
height: 76px;
border-radius: 22px;
display: flex;
justify-content: center;
align-items: center;
gap: 26px;
flex-wrap: wrap;
justify-content: center;
margin-bottom: 24px;
transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
box-shadow: 0 8px 16px rgba(0, 0, 0, 0.02);
}
.signup-navigation .signup-nav-link {
.signup-card-item .card-text-wrapper {
display: flex;
flex-direction: column;
align-items: center;
}
.signup-card-item .card-title {
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size: 16px;
font-weight: 400;
color: #000000;
text-decoration: none;
transition: color 0.3s ease;
line-height: 1;
font-size: 22px;
font-weight: 800;
margin-top: 0;
margin-bottom: 12px;
line-height: 1.3;
color: #1A202C;
transition: all 0.4s ease;
}
.signup-navigation .signup-nav-link:hover {
.signup-card-item .card-desc {
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size: 14px;
color: #718096;
line-height: 1.6;
margin: 0;
max-width: 250px;
word-break: keep-all;
transition: color 0.4s ease;
}
.signup-card-item:hover {
transform: translateY(-8px);
background: #FFFFFF;
}
.signup-card-item:hover::before {
opacity: 1;
}
.signup-card-item.individual-card .card-icon-wrapper {
background: linear-gradient(135deg, #F0F5FF 0%, #D8E5FF 100%);
color: #0049B4;
text-decoration: underline;
}
.signup-navigation .signup-nav-separator {
color: #000000;
font-size: 16px;
line-height: 1;
.signup-card-item.individual-card:hover {
border-color: #0049B4;
box-shadow: 0 20px 40px rgba(0, 73, 180, 0.12);
}
.signup-card-item.individual-card:hover .card-title {
color: #0049B4;
}
.signup-card-item.individual-card:hover .card-icon-wrapper {
background: linear-gradient(135deg, #0049B4 0%, #0066FF 100%);
color: #FFFFFF;
transform: scale(1.05) rotate(3deg);
box-shadow: 0 10px 20px rgba(0, 73, 180, 0.25);
}
.signup-card-item.organization-card .card-icon-wrapper {
background: linear-gradient(135deg, #EBF8FF 0%, #CAF0F8 100%);
color: #00A1D7;
}
.signup-card-item.organization-card:hover {
border-color: #00A1D7;
box-shadow: 0 20px 40px rgba(0, 161, 215, 0.12);
}
.signup-card-item.organization-card:hover .card-title {
color: #00A1D7;
}
.signup-card-item.organization-card:hover .card-icon-wrapper {
background: linear-gradient(135deg, #00A1D7 0%, #33C2FF 100%);
color: #FFFFFF;
transform: scale(1.05) rotate(-3deg);
box-shadow: 0 10px 20px rgba(0, 161, 215, 0.25);
}
.signup-navigation-box {
display: flex;
align-items: center;
background: #EDF4FF;
border: 1px solid #0049B4;
border-radius: 8px;
overflow: hidden;
height: 42px;
max-width: 280px;
width: 100%;
margin: 0 auto;
}
.signup-navigation-box .signup-nav-btn {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size: 14px;
font-weight: 700;
color: #0049B4;
text-decoration: none;
height: 100%;
transition: all 0.2s ease;
}
.signup-navigation-box .signup-nav-btn:hover {
background: #DCE7FF;
}
.signup-navigation-box .signup-nav-divider {
width: 1px;
height: 100%;
background: #0049B4;
}
@media (max-width: 768px) {
@@ -13157,59 +13253,70 @@ body.index-page-body {
max-width: 100%;
padding: 0;
}
.signup-selection-card {
padding: 0;
.signup-header {
margin-bottom: 30px;
}
.signup-logo {
width: 64px;
height: 64px;
margin-bottom: 24px;
.signup-header .signup-title-row {
margin-bottom: 8px;
}
.signup-header .signup-title-row .signup-title-icon {
width: 24px;
height: 24px;
}
.signup-header .signup-title-row .signup-title {
font-size: 24px;
}
.signup-message {
font-size: 14px;
font-weight: 400;
color: #212529;
margin-bottom: 80px;
line-height: 26px;
margin-bottom: 40px;
line-height: 22px;
}
.signup-buttons {
.signup-cards {
max-width: 335px;
gap: 24px;
margin-bottom: 80px;
flex-direction: column;
gap: 16px;
margin-bottom: 40px;
}
.signup-btn {
.signup-card-item {
padding: 24px 20px;
border-radius: 12px;
flex-direction: row;
text-align: left;
align-items: center;
gap: 16px;
}
.signup-card-item .card-icon-wrapper {
width: 44px;
height: 44px;
font-size: 16px;
font-weight: 700;
border-radius: 8px;
padding: 8px 12px;
justify-content: center;
gap: 8px;
}
.signup-btn svg {
width: 14px;
height: 16px;
margin-bottom: 0;
flex-shrink: 0;
}
.signup-btn span {
text-align: center;
.signup-card-item .card-icon-wrapper svg {
width: 20px;
height: 20px;
}
.signup-btn:hover {
.signup-card-item .card-text-wrapper {
align-items: flex-start;
}
.signup-card-item .card-title {
font-size: 16px;
margin-bottom: 4px;
}
.signup-card-item .card-desc {
font-size: 12px;
}
.signup-card-item:hover {
transform: none;
box-shadow: none;
opacity: 0.9;
}
.signup-navigation {
gap: 12px;
.signup-navigation-box {
max-width: 260px;
height: 38px;
}
.signup-navigation .signup-nav-link {
font-size: 14px;
font-weight: 400;
color: #515961;
}
.signup-navigation .signup-nav-separator {
font-size: 14px;
color: #515961;
.signup-navigation-box .signup-nav-btn {
font-size: 13px;
}
}
.corporate-transfer-section {
@@ -21263,7 +21370,7 @@ input[type=checkbox]:checked + .custom-checkbox {
background: none;
padding: 0 0 16px 0;
border-radius: 0;
border-bottom: 2px solid #212529;
border-bottom: 1px solid #212529;
margin-bottom: 32px;
}
.org-section-header--agreement h3 {
@@ -21291,76 +21398,69 @@ input[type=checkbox]:checked + .custom-checkbox {
}
.org-info-notice {
background: #FFF5F5;
border: 1px solid #FED7D7;
border-radius: 8px;
margin-bottom: 16px;
padding: 14px 20px;
display: flex;
align-items: center;
gap: 12px;
margin-top: 16px;
margin-bottom: 32px;
}
.org-info-notice ul {
list-style: none;
padding: 0;
margin: 0;
.org-info-notice .notice-icon-wrapper {
display: flex;
align-items: center;
justify-content: center;
color: #E53E3E;
flex-shrink: 0;
}
.org-info-notice ul li {
position: relative;
padding-left: 24px;
color: #64748B;
.org-info-notice .notice-text {
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size: 14px;
line-height: 1.6;
}
.org-info-notice ul li::before {
content: "•";
position: absolute;
left: 0;
color: #0049b4;
font-weight: 700;
}
.org-info-notice ul li + li {
margin-top: 8px;
font-weight: 500;
color: #C53030;
line-height: 1.5;
margin: 0;
}
.org-form-group {
margin-bottom: 16px;
margin-bottom: 26px;
display: flex;
align-items: flex-start;
gap: 20px;
flex-direction: column;
align-items: stretch;
gap: 13px;
}
.org-form-group:last-child {
margin-bottom: 0;
}
@media (max-width: 768px) {
.org-form-group {
flex-direction: column;
gap: 10px;
margin-bottom: 12px;
}
}
.org-form-label {
display: flex;
align-items: center;
gap: 8px;
font-size: 15px;
font-weight: 400;
color: #1A1A2E;
min-width: 160px;
padding-top: 10px;
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size: 16px;
font-weight: 700;
color: #1A202C;
width: auto;
margin: 0;
padding: 0;
}
.org-form-label .required-badge {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 2px 8px;
background: #3BA4ED;
color: #FFFFFF;
font-size: 12px;
font-weight: 500;
border-radius: 4px;
line-height: 1.2;
visibility: hidden;
position: relative;
width: 10px;
}
@media (max-width: 768px) {
.org-form-label {
min-width: auto;
padding-top: 0;
}
.org-form-label .required-badge::after {
content: "*";
visibility: visible;
position: absolute;
left: 4px;
top: 0;
color: #f4253c;
font-size: 16px;
font-weight: 700;
}
.org-form-input-wrapper {
@@ -21379,6 +21479,8 @@ input[type=checkbox]:checked + .custom-checkbox {
display: flex;
align-items: center;
gap: 16px;
width: 100%;
max-width: 650px;
}
.org-input-row .org-form-input,
.org-input-row .org-compound-input,
@@ -21407,18 +21509,20 @@ input[type=checkbox]:checked + .custom-checkbox {
.org-form-input {
width: 100%;
padding: 8px 12px;
border: 1px solid #E2E8F0;
padding: 10px 16px;
border: 1px solid #CBD5E0;
border-radius: 8px;
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size: 14px;
color: #1A1A2E;
color: #1A202C;
transition: all 0.3s ease;
background: #FFFFFF;
background: #FCFDFD;
}
.org-form-input:focus {
outline: none;
border-color: #0049b4;
box-shadow: 0 0 0 3px rgba(75, 155, 255, 0.1);
border-color: #0049B4;
box-shadow: 0 0 0 3px rgba(0, 73, 180, 0.15);
background: #FFFFFF;
}
.org-form-input:disabled {
background: #F8FAFC;
@@ -21432,7 +21536,7 @@ input[type=checkbox]:checked + .custom-checkbox {
border-color: #6BCF7F;
}
.org-form-input::placeholder {
color: #94A3B8;
color: #A0AEC0;
}
.org-compound-input {
@@ -21441,6 +21545,10 @@ input[type=checkbox]:checked + .custom-checkbox {
gap: 8px;
width: 100%;
}
.org-compound-input.phone-input-group {
flex: none;
width: auto;
}
.org-compound-input .org-form-input,
.org-compound-input .org-form-select {
flex: 1;
@@ -21582,18 +21690,23 @@ input[type=checkbox]:checked + .custom-checkbox {
}
.org-btn-check, .org-file-label {
padding: 8px 16px;
padding: 10px 20px;
width: auto;
min-width: 100px;
background: #A4D6EA;
background: #00A1D7;
color: #FFFFFF;
border: 1px solid #A4D6EA;
border: 1px solid #00A1D7;
border-radius: 8px;
font-family: "Spoqa Han Sans Neo", "SpoqaHanSans", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
font-size: 14px;
font-weight: 700;
text-align: center;
justify-content: center;
transition: all 0.2s ease;
}
.org-btn-check:not(:disabled):hover, .org-file-label:not(:disabled):hover {
background: #008BC0;
border-color: #008BC0;
color: #FFFFFF;
}
@media (max-width: 768px) {
@@ -21688,10 +21801,9 @@ input[type=checkbox]:checked + .custom-checkbox {
.org-action-buttons {
display: flex;
gap: 24px;
justify-content: center;
justify-content: end;
margin-top: 64px;
padding-top: 48px;
border-top: 1px solid #E2E8F0;
}
.org-action-buttons .btn {
width: 220px;
@@ -21743,14 +21855,17 @@ input[type=checkbox]:checked + .custom-checkbox {
padding: 8px 16px;
border-radius: 6px;
font-size: 14px;
display: none;
}
.org-validation-message.success {
background: rgba(107, 207, 127, 0.1);
color: #6BCF7F;
display: block;
}
.org-validation-message.error {
background: rgba(255, 107, 107, 0.1);
color: #FF6B6B;
display: block;
}
.org-loading-overlay {
@@ -21931,13 +22046,14 @@ input[type=checkbox]:checked + .custom-checkbox {
.agreement-content {
margin-top: 16px;
background: #EDF9FE;
background: #f9f9f9;
border-radius: 10px;
padding: 22px;
}
.agreement-scroll {
max-height: 300px;
max-height: 400px;
overflow-y: auto;
padding: 24px;
}
.agreement-scroll::-webkit-scrollbar {
width: 8px;
@@ -21958,7 +22074,12 @@ input[type=checkbox]:checked + .custom-checkbox {
line-height: 1.8;
color: #64748B;
}
.agreement-scroll div h1, .agreement-scroll div h2, .agreement-scroll div h3, .agreement-scroll div h4, .agreement-scroll div h5, .agreement-scroll div h6 {
.agreement-scroll div h1,
.agreement-scroll div h2,
.agreement-scroll div h3,
.agreement-scroll div h4,
.agreement-scroll div h5,
.agreement-scroll div h6 {
color: #1A1A2E;
margin-top: 24px;
margin-bottom: 16px;
@@ -21967,7 +22088,8 @@ input[type=checkbox]:checked + .custom-checkbox {
.agreement-scroll div p {
margin-bottom: 16px;
}
.agreement-scroll div ul, .agreement-scroll div ol {
.agreement-scroll div ul,
.agreement-scroll div ol {
margin-left: 24px;
margin-bottom: 16px;
}
@@ -21976,7 +22098,8 @@ input[type=checkbox]:checked + .custom-checkbox {
border-collapse: collapse;
margin-bottom: 16px;
}
.agreement-scroll div table th, .agreement-scroll div table td {
.agreement-scroll div table th,
.agreement-scroll div table td {
border: 1px solid #E2E8F0;
padding: 8px;
text-align: left;
@@ -22012,6 +22135,25 @@ input[type=checkbox]:checked + .custom-checkbox {
padding: 16px;
}
}
.register-card-wrapper {
background: #FFFFFF;
border: 1px solid rgba(226, 232, 240, 0.8);
border-radius: 20px;
padding: 48px 40px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
margin-top: 30px;
margin-bottom: 60px;
width: 100%;
}
@media (max-width: 768px) {
.register-card-wrapper {
padding: 24px 16px;
border-radius: 12px;
margin-top: 15px;
margin-bottom: 40px;
}
}
.page-header {
margin-bottom: 64px;
text-align: center;