Files
ITStudioMainSite/plugins/itstudio-recruitment/assets/otp.css
T

145 lines
3.2 KiB
CSS

/* =========================================
ITStudio 邮箱 OTP 验证码组件样式 (Modern Geek Style)
========================================= */
.itstudio-otp-wrap {
display: flex;
flex-direction: column;
gap: 8px;
width: 100%;
margin-top: 4px;
}
.itstudio-otp-group {
display: flex;
align-items: stretch;
gap: 10px;
width: 100%;
}
.itstudio-otp-group .itstudio-otp-input {
flex: 1 1 auto !important;
min-width: 0 !important;
letter-spacing: 0.1em !important;
font-family: var(--font-mono, ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace) !important;
font-weight: 600 !important;
}
.itstudio-otp-send {
flex: 0 0 auto;
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 44px;
padding: 0 20px;
border-radius: 8px;
border: 1px solid rgba(255, 255, 255, 0.16);
background: linear-gradient(135deg, #1f6feb 0%, #1158c7 100%);
color: #ffffff;
font-family: inherit;
font-size: 0.9rem;
font-weight: 600;
letter-spacing: 0.02em;
white-space: nowrap;
cursor: pointer;
box-shadow: 0 2px 8px rgba(31, 111, 235, 0.35);
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
user-select: none;
-webkit-user-select: none;
}
.itstudio-otp-send:hover:not(:disabled) {
transform: translateY(-1px);
filter: brightness(1.08);
box-shadow: 0 4px 14px rgba(31, 111, 235, 0.45);
}
.itstudio-otp-send:active:not(:disabled) {
transform: translateY(0);
filter: brightness(0.96);
box-shadow: 0 1px 4px rgba(31, 111, 235, 0.3);
}
.itstudio-otp-send:disabled {
cursor: not-allowed;
opacity: 0.7;
transform: none !important;
box-shadow: none !important;
filter: none !important;
}
.itstudio-otp-send.is-countdown {
background: rgba(56, 139, 253, 0.12) !important;
border: 1px solid rgba(56, 139, 253, 0.3) !important;
color: #58a6ff !important;
font-variant-numeric: tabular-nums;
font-weight: 600;
}
.itstudio-otp-send.is-loading {
opacity: 0.85;
cursor: wait;
}
.itstudio-otp-status {
display: flex;
align-items: center;
gap: 6px;
font-size: 0.84rem;
line-height: 1.45;
padding: 2px 4px;
color: var(--text-secondary);
transition: all 0.2s ease;
}
.itstudio-otp-status.is-success {
color: #3fb950;
font-weight: 500;
}
.itstudio-otp-status.is-error {
color: #f85149;
font-weight: 500;
}
.itstudio-otp-status.is-info {
color: #58a6ff;
}
/* 浅色模式适配 */
[data-theme="light"] .itstudio-otp-send {
background: linear-gradient(135deg, #0969da 0%, #0550ae 100%);
border: 1px solid rgba(255, 255, 255, 0.25);
box-shadow: 0 2px 8px rgba(9, 105, 218, 0.28);
}
[data-theme="light"] .itstudio-otp-send:hover:not(:disabled) {
box-shadow: 0 4px 14px rgba(9, 105, 218, 0.38);
}
[data-theme="light"] .itstudio-otp-send.is-countdown {
background: rgba(9, 105, 218, 0.08) !important;
border: 1px solid rgba(9, 105, 218, 0.25) !important;
color: #0969da !important;
}
[data-theme="light"] .itstudio-otp-status.is-success {
color: #1a7f37;
}
[data-theme="light"] .itstudio-otp-status.is-error {
color: #cf222e;
}
[data-theme="light"] .itstudio-otp-status.is-info {
color: #0969da;
}
@media (max-width: 480px) {
.itstudio-otp-group {
flex-direction: column;
}
.itstudio-otp-send {
width: 100%;
}
}