|
|
|
|
@ -19,6 +19,27 @@ body.login-page-wls #app {
|
|
|
|
|
color: #1f1f1f !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 选手报名工作台(MainLayout):页面底色与登录页浅蓝渐变一致 */
|
|
|
|
|
body.prototype-page.user-mobile-no-menu {
|
|
|
|
|
background: linear-gradient(135deg, #f4f9fd 0%, #e8f3fa 38%, #eef7fc 100%) !important;
|
|
|
|
|
background-color: #eef7fc !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 左侧「赛事报名」导航卡与右侧报名表外框:白底、#eef7fc 描边、统一圆角 */
|
|
|
|
|
body.prototype-page.user-mobile-no-menu .participant-layout .layout-sider > .card {
|
|
|
|
|
background: #fff !important;
|
|
|
|
|
border: 1px solid #eef7fc !important;
|
|
|
|
|
border-radius: var(--radius-lg, 10px) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page .apply-form-page {
|
|
|
|
|
background: #fff !important;
|
|
|
|
|
border: 1px solid #eef7fc !important;
|
|
|
|
|
border-radius: var(--radius-lg, 10px) !important;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
padding: 1rem 1.25rem !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page .form-page-title {
|
|
|
|
|
color: #262224 !important;
|
|
|
|
|
font-size: 1.35rem !important;
|
|
|
|
|
@ -26,24 +47,118 @@ body.prototype-page .form-page-title {
|
|
|
|
|
letter-spacing: 0.3px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 报名表滚动区内的主卡片:PC/移动统一白底、描边与阴影(与左侧导航卡一致) */
|
|
|
|
|
/* 报名表:外层 .apply-form-page 已为白底+描边;内层卡片不再重复描边 */
|
|
|
|
|
body.prototype-page .apply-form-scroll > .card {
|
|
|
|
|
background: #fff;
|
|
|
|
|
border: 1px solid #eee2e4 !important;
|
|
|
|
|
border-radius: var(--radius-lg, 10px);
|
|
|
|
|
box-shadow: var(--shadow-soft, 0 4px 14px rgba(46, 24, 26, 0.06));
|
|
|
|
|
background: transparent !important;
|
|
|
|
|
border: none !important;
|
|
|
|
|
border-radius: 0 !important;
|
|
|
|
|
box-shadow: none !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page .apply-form-scroll > .card > .card-body {
|
|
|
|
|
padding-left: 0 !important;
|
|
|
|
|
padding-right: 0 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 报名主操作按钮:与首页/登录页同款深蓝金渐变。
|
|
|
|
|
* - 使用 .participant-layout 限定(MainLayout 根节点首屏即有),避免仅依赖 body.prototype-page 在 onMounted 才挂上导致首帧仍是 Bootstrap 默认蓝/绿。
|
|
|
|
|
*/
|
|
|
|
|
.participant-layout {
|
|
|
|
|
--cxxfds-participant-btn-surface: radial-gradient(
|
|
|
|
|
ellipse at 78% 22%,
|
|
|
|
|
rgba(255, 211, 106, 0.14),
|
|
|
|
|
transparent 42%
|
|
|
|
|
),
|
|
|
|
|
radial-gradient(ellipse at 24% 72%, rgba(255, 211, 106, 0.08), transparent 46%),
|
|
|
|
|
radial-gradient(ellipse at 50% 50%, rgba(13, 84, 162, 0.24), transparent 58%),
|
|
|
|
|
linear-gradient(128deg, #073b74 0%, #052d62 34%, #071f50 68%, #041433 100%);
|
|
|
|
|
--cxxfds-participant-btn-fallback: #052d62;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.participant-layout #applyForm .btn-primary,
|
|
|
|
|
.participant-layout #applyForm .btn-success,
|
|
|
|
|
.participant-layout #promiseSignModal .btn-primary,
|
|
|
|
|
.participant-layout #applyNoticeModal .btn-primary {
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
border: 1px solid rgba(255, 211, 106, 0.38) !important;
|
|
|
|
|
background: var(--cxxfds-participant-btn-surface) !important;
|
|
|
|
|
background-color: var(--cxxfds-participant-btn-fallback) !important;
|
|
|
|
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2) !important;
|
|
|
|
|
transition: filter 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.participant-layout #applyForm .btn-primary:hover:not(:disabled),
|
|
|
|
|
.participant-layout #applyForm .btn-success:hover:not(:disabled),
|
|
|
|
|
.participant-layout #promiseSignModal .btn-primary:hover:not(:disabled),
|
|
|
|
|
.participant-layout #applyNoticeModal .btn-primary:hover:not(:disabled) {
|
|
|
|
|
filter: brightness(1.08) !important;
|
|
|
|
|
border-color: rgba(255, 244, 204, 0.5) !important;
|
|
|
|
|
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.24) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 附件预览/删除:横向一排、宽度随文案(避免误用 flex 平分导致块级换行) */
|
|
|
|
|
.participant-layout #applyForm .btn-primary:disabled,
|
|
|
|
|
.participant-layout #applyForm .btn-success:disabled,
|
|
|
|
|
.participant-layout #promiseSignModal .btn-primary:disabled,
|
|
|
|
|
.participant-layout #applyNoticeModal .btn-primary:disabled {
|
|
|
|
|
opacity: 0.58 !important;
|
|
|
|
|
filter: none !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.participant-layout #applyForm .btn-outline-primary {
|
|
|
|
|
color: #052d62 !important;
|
|
|
|
|
border-color: rgba(7, 59, 116, 0.55) !important;
|
|
|
|
|
background-color: #fff !important;
|
|
|
|
|
transition: color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.participant-layout #applyForm .btn-outline-primary:hover:not(:disabled) {
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
border-color: rgba(255, 211, 106, 0.48) !important;
|
|
|
|
|
background: var(--cxxfds-participant-btn-surface) !important;
|
|
|
|
|
background-color: var(--cxxfds-participant-btn-fallback) !important;
|
|
|
|
|
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.participant-layout #applyForm .btn-outline-primary:focus-visible {
|
|
|
|
|
color: #fff !important;
|
|
|
|
|
border-color: rgba(255, 211, 106, 0.55) !important;
|
|
|
|
|
box-shadow: 0 0 0 0.2rem rgba(13, 84, 162, 0.22) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.participant-layout #applyForm .btn-outline-primary:disabled {
|
|
|
|
|
opacity: 0.55 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 附件预览等小按钮同为 outline-primary */
|
|
|
|
|
.participant-layout #applyForm .btn-sm.btn-outline-primary {
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 附件预览/删除:横向一排、右对齐 */
|
|
|
|
|
body.prototype-page #applyForm .supporting-file-actions {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
flex-wrap: nowrap;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: flex-start;
|
|
|
|
|
justify-content: flex-end;
|
|
|
|
|
gap: 0.45rem;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page #applyForm .supporting-file-item {
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
width: 100%;
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 参赛承诺书:「已完成签署」与登录页验证码提示同款浅底深字 */
|
|
|
|
|
body.prototype-page #applyForm .promise-signed-badge {
|
|
|
|
|
background: #eef7fc !important;
|
|
|
|
|
color: #052d62 !important;
|
|
|
|
|
border: 1px solid rgba(5, 45, 98, 0.14) !important;
|
|
|
|
|
font-weight: 600 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page #applyForm .supporting-file-actions .btn {
|
|
|
|
|
flex: 0 0 auto;
|
|
|
|
|
width: auto;
|
|
|
|
|
@ -51,6 +166,28 @@ body.prototype-page #applyForm .supporting-file-actions .btn {
|
|
|
|
|
white-space: nowrap;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 选手端侧栏:覆盖原型 .nav-link.active 洋红底,与页面浅蓝统一 */
|
|
|
|
|
body.prototype-page.user-mobile-no-menu .participant-layout .layout-sider .nav-link.active,
|
|
|
|
|
body.prototype-page.user-mobile-no-menu .participant-layout .layout-sider a.nav-link.router-link-active {
|
|
|
|
|
background: #eef7fc !important;
|
|
|
|
|
color: #052d62 !important;
|
|
|
|
|
font-weight: 600 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* PC:已上传附件一行两个 */
|
|
|
|
|
@media (min-width: 768px) {
|
|
|
|
|
body.prototype-page #applyForm .supporting-file-list {
|
|
|
|
|
align-items: stretch;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page #applyForm .supporting-file-item {
|
|
|
|
|
flex: 0 0 calc((100% - 0.5rem) / 2);
|
|
|
|
|
max-width: calc((100% - 0.5rem) / 2);
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
min-width: 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page #applyForm .form-label,
|
|
|
|
|
body.prototype-page #applyForm .form-check-label {
|
|
|
|
|
font-size: 0.9rem !important;
|
|
|
|
|
@ -155,10 +292,18 @@ body.prototype-page #applyForm.was-validated .form-control:invalid,
|
|
|
|
|
body.prototype-page #applyForm .form-control.is-invalid,
|
|
|
|
|
body.prototype-page #applyForm.was-validated textarea.form-control:invalid,
|
|
|
|
|
body.prototype-page #applyForm textarea.form-control.is-invalid {
|
|
|
|
|
border-color: #052d62 !important;
|
|
|
|
|
background-image: none !important;
|
|
|
|
|
padding-right: 0.75rem !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page #applyForm.was-validated .form-select:invalid:not([multiple]):not([size]),
|
|
|
|
|
body.prototype-page #applyForm.was-validated .form-select:invalid:not([multiple])[size='1'],
|
|
|
|
|
body.prototype-page #applyForm .form-select.is-invalid:not([multiple]):not([size]),
|
|
|
|
|
body.prototype-page #applyForm .form-select.is-invalid:not([multiple])[size='1'] {
|
|
|
|
|
border-color: #052d62 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page #applyForm.was-validated .form-select:valid:not([multiple]):not([size]),
|
|
|
|
|
body.prototype-page #applyForm.was-validated .form-select:valid:not([multiple])[size='1'],
|
|
|
|
|
body.prototype-page #applyForm .form-select.is-valid:not([multiple]):not([size]),
|
|
|
|
|
@ -186,46 +331,61 @@ body.prototype-page #applyForm .form-select.is-valid:not([multiple])[size='1'] {
|
|
|
|
|
body.prototype-page #applyForm .form-control:focus,
|
|
|
|
|
body.prototype-page #applyForm .form-select:focus,
|
|
|
|
|
body.prototype-page #applyForm .track-custom-toggle.form-select:focus {
|
|
|
|
|
border-color: #cfaeb3 !important;
|
|
|
|
|
box-shadow: 0 0 0 0.2rem rgba(180, 0, 16, 0.12) !important;
|
|
|
|
|
border-color: #052d62 !important;
|
|
|
|
|
box-shadow: 0 0 0 0.2rem rgba(5, 45, 98, 0.2) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page #applyForm.was-validated .form-control:valid:focus,
|
|
|
|
|
body.prototype-page #applyForm .form-control.is-valid:focus {
|
|
|
|
|
border-color: #cfaeb3 !important;
|
|
|
|
|
box-shadow: 0 0 0 0.2rem rgba(180, 0, 16, 0.12) !important;
|
|
|
|
|
border-color: #052d62 !important;
|
|
|
|
|
box-shadow: 0 0 0 0.2rem rgba(5, 45, 98, 0.2) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page #applyForm.was-validated .form-control:invalid:focus,
|
|
|
|
|
body.prototype-page #applyForm .form-control.is-invalid:focus,
|
|
|
|
|
body.prototype-page #applyForm.was-validated .form-select:invalid:focus,
|
|
|
|
|
body.prototype-page #applyForm .form-select.is-invalid:focus {
|
|
|
|
|
border-color: #dc3545 !important;
|
|
|
|
|
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.15) !important;
|
|
|
|
|
border-color: #052d62 !important;
|
|
|
|
|
box-shadow: 0 0 0 0.2rem rgba(5, 45, 98, 0.22) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page #applyForm .track-custom-toggle.is-invalid {
|
|
|
|
|
border-color: #dc3545 !important;
|
|
|
|
|
border-color: #052d62 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page #applyForm .invalid-feedback {
|
|
|
|
|
font-size: 0.875rem !important;
|
|
|
|
|
margin-top: 0.28rem;
|
|
|
|
|
color: #dc3545 !important;
|
|
|
|
|
color: #052d62 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page #applyForm .invalid-feedback.d-block {
|
|
|
|
|
display: block !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** 报名表:必填星号与顶部加载错误文案与主题 #052d62 一致 */
|
|
|
|
|
body.prototype-page #applyForm .text-danger {
|
|
|
|
|
color: #052d62 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page .apply-form-page > .form-page-header .text-danger {
|
|
|
|
|
color: #052d62 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page #applyForm .intro-char-count {
|
|
|
|
|
font-size: 0.9rem !important;
|
|
|
|
|
color: #6b6f76 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
body.prototype-page #applyForm .prototype-subtitle {
|
|
|
|
|
color: #6b6f76 !important;
|
|
|
|
|
font-size: 0.9rem !important;
|
|
|
|
|
/** 多行文本:占位说明在输入框下方左侧(不用原生 placeholder) */
|
|
|
|
|
body.prototype-page #applyForm .apply-textarea-placeholder-hint {
|
|
|
|
|
font-size: 0.875rem !important;
|
|
|
|
|
font-weight: 400 !important;
|
|
|
|
|
color: #9aa3ad !important;
|
|
|
|
|
line-height: 1.5 !important;
|
|
|
|
|
flex: 1 1 auto;
|
|
|
|
|
min-width: 0;
|
|
|
|
|
text-align: left !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* 参赛承诺书弹窗:标题/签名区固定,仅正文区在过长时滚动;弹窗高度随内容变矮 */
|
|
|
|
|
@ -312,6 +472,7 @@ body.prototype-page #promiseSignModal .promise-doc-scroll {
|
|
|
|
|
display: flex;
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
align-items: stretch;
|
|
|
|
|
justify-content: flex-start;
|
|
|
|
|
gap: 0.5rem;
|
|
|
|
|
width: 100%;
|
|
|
|
|
max-width: none;
|
|
|
|
|
@ -328,7 +489,7 @@ body.prototype-page #promiseSignModal .promise-doc-scroll {
|
|
|
|
|
flex-direction: row !important;
|
|
|
|
|
flex-wrap: nowrap !important;
|
|
|
|
|
align-items: center;
|
|
|
|
|
justify-content: flex-start;
|
|
|
|
|
justify-content: flex-end;
|
|
|
|
|
width: 100%;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|