Add independent subject pass rules and atomic score imports
This commit is contained in:
+102
@@ -317,6 +317,108 @@ button:disabled { cursor: not-allowed; opacity: .5; }
|
||||
.public-header { height:68px; }.public-nav nav { top:67px; }.public-nav .solid-button { display:none; }.brand strong { font-size:22px; }.brand-symbol { width:32px; height:32px; }.hero-grid,.content-section { width:calc(100% - 32px); }.notice-ticker { margin-bottom:28px; }.hero-copy h1 { font-size:40px; }.hero-copy h1 em::after { width:35px; }.hero-lead { font-size:12px; }.hero-actions { align-items:stretch; flex-direction:column; }.hero-stats { justify-content:space-between; gap:10px; }.hero-ticket { grid-template-columns:1fr 82px; transform:none; }.hero-ticket::before,.hero-ticket::after { right:70px; }.ticket-main { padding:23px; }.ticket-main h2 { font-size:22px; }.ticket-main dl div { grid-template-columns:62px 1fr; }.ticket-stub strong { font-size:25px; }.content-section { padding:65px 0; }.section-heading { align-items:flex-start; flex-direction:column; gap:10px; }.section-heading > p { text-align:left; }.section-heading h2 { font-size:30px; }.notice-row { grid-template-columns:55px 1fr 18px; padding:11px 13px; }.featured-notice { min-height:280px; }.exam-meta { grid-template-columns:1fr; }.public-exam-card footer { align-items:flex-start; flex-direction:column; gap:12px; }.flow-track { grid-template-columns:1fr; }.public-footer { align-items:flex-start; flex-direction:column; gap:25px; }.auth-story { min-height:315px; padding:27px 24px; }.auth-story h1 { font-size:35px; }.auth-panel { padding:70px 20px 35px; }.back-link { top:22px; right:20px; }.field-row,.form-grid { grid-template-columns:1fr; }.portal-topbar { height:62px; }.portal-user > span:nth-of-type(2) { display:none; }.portal-user .notification-button { display:none; }.portal-content { padding:20px 14px; }.portal-heading { align-items:flex-start; flex-direction:column; }.portal-heading .solid-button { width:100%; }.portal-heading h1 { font-size:28px; }.candidate-welcome { padding:24px; }.welcome-seal { display:none; }.candidate-welcome h2 { font-size:22px; }.summary-grid,.admin-metrics { grid-template-columns:1fr; }.candidate-progress { grid-template-columns:1fr; gap:0; padding:18px; }.progress-step { min-height:58px; grid-template-columns:30px 1fr; justify-items:start; align-items:center; text-align:left; }.progress-step::before { top:-50%; bottom:50%; left:14px; width:2px; height:auto; right:auto; }.progress-step div { justify-items:start; }.subject-options { grid-template-columns:1fr; }.registration-card > footer,.form-actions { align-items:flex-start; flex-direction:column; gap:10px; }.admit-ticket { grid-template-columns:1fr; }.admit-ticket::before,.admit-ticket::after { display:none; }.admit-stub { border-top:1px dashed rgba(255,255,255,.18); border-left:0; }.admit-main dl { grid-template-columns:1fr; }.score-grid { grid-template-columns:1fr 1fr; }.score-grid article,.score-grid article:nth-child(3) { border-right:1px solid var(--line); border-top:1px solid var(--line); }.score-grid article:nth-child(2n) { border-right:0; }.result-panel > header,.result-panel > footer { align-items:flex-start; flex-direction:column; gap:8px; }.notice-center-list > button { grid-template-columns:45px 1fr 18px; gap:10px; padding:12px; }.notice-center button > i { display:none; }.data-toolbar { align-items:stretch; flex-direction:column; }.search-box { width:100%; }.filter-pills { overflow-x:auto; }.filter-pills button { white-space:nowrap; }.admin-exam-card dl { grid-template-columns:1fr; }.admin-exam-card dl div:last-child { grid-column:auto; }.review-profile dl,.registration-review dl,.admit-preview dl { grid-template-columns:1fr; }.modal-layer { padding:10px; }.modal-card { max-height:94vh; }.modal-head,.modal-form { padding-left:18px; padding-right:18px; }.modal-foot { margin-left:-18px; margin-right:-18px; padding-left:18px; padding-right:18px; }.toast { right:14px; bottom:14px; left:14px; min-width:0; }
|
||||
}
|
||||
|
||||
.flow-appeal-snapshot { margin:18px 24px 4px; padding:16px; border:1px solid #d4dfed; border-radius:10px; background:linear-gradient(120deg,#f7f9fd,#eef4fb); }
|
||||
.flow-appeal-snapshot header { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; }
|
||||
.flow-appeal-snapshot header span { color:#7888a6; font-size:7px; font-weight:700; letter-spacing:.08em; }
|
||||
.flow-appeal-snapshot h3 { margin:4px 0 0; color:var(--navy); font-size:14px; }
|
||||
.flow-appeal-snapshot header b { color:var(--blue); font-family:Georgia,serif; font-size:22px; }
|
||||
.flow-appeal-snapshot dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 18px; margin:15px 0 0; }
|
||||
.flow-appeal-snapshot dl div { display:grid; grid-template-columns:70px 1fr; gap:8px; }
|
||||
.flow-appeal-snapshot dt { color:#8994a8; font-size:7px; }
|
||||
.flow-appeal-snapshot dd { margin:0; color:#33425b; font-size:8px; }
|
||||
.rank-rule-line { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; padding:9px 10px; border-radius:7px; background:#f1f4f9; }
|
||||
.rank-rule-line span { color:#8993a6; font-size:7px; }
|
||||
.rank-rule-line b { color:#45536c; font-size:8px; }
|
||||
@media (max-width: 620px) { .flow-appeal-snapshot dl { grid-template-columns:1fr; } }
|
||||
|
||||
/* Multi-exam score center, staged Excel import, and per-subject pass rules */
|
||||
.result-exam-strip { display:flex; gap:10px; margin-bottom:14px; overflow-x:auto; padding:2px 1px 8px; scrollbar-width:thin; }
|
||||
.result-exam-strip > button { position:relative; min-width:245px; display:grid; gap:5px; overflow:hidden; padding:16px 17px 18px; border:1px solid #dce3ed; border-radius:12px; color:#536078; background:#fff; text-align:left; box-shadow:0 7px 20px rgba(20,36,81,.04); }
|
||||
.result-exam-strip > button.active { border-color:#315fba; color:#142451; background:linear-gradient(130deg,#fff,#f0f5ff); box-shadow:0 10px 26px rgba(49,95,186,.12); }
|
||||
.result-exam-strip span { color:#7383a5; font:700 10px Consolas,monospace; letter-spacing:.05em; }
|
||||
.result-exam-strip strong { font-size:14px; }
|
||||
.result-exam-strip small { color:#8a93a5; font-size:10px; }
|
||||
.result-exam-strip i { position:absolute; right:0; bottom:0; left:0; height:4px; background:linear-gradient(90deg,#315fba var(--progress),#e8edf5 var(--progress)); }
|
||||
.result-metric-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin-bottom:14px; }
|
||||
.result-metric-grid article { min-width:0; padding:15px 16px; border:1px solid #e0e6ef; border-radius:11px; background:#fff; box-shadow:0 7px 20px rgba(20,36,81,.04); }
|
||||
.result-metric-grid small,.result-metric-grid span { display:block; color:#8a93a5; font-size:9px; }
|
||||
.result-metric-grid strong { display:block; margin:7px 0 5px; color:#173f60; font:400 25px Georgia,serif; }
|
||||
.result-metric-grid strong em { color:#8c96aa; font-size:13px; font-style:normal; }
|
||||
.result-excel-toolbar { margin-bottom:14px; }
|
||||
.result-entry-console { margin-bottom:14px; overflow:hidden; }
|
||||
.result-entry-console .panel-title { height:auto; min-height:74px; }
|
||||
.result-entry-console .panel-title p { margin:4px 0 0; color:#8791a4; font-size:10px; }
|
||||
.result-entry-console form { padding:18px 20px 20px; }
|
||||
.result-entry-fields { display:grid; grid-template-columns:1.2fr 1fr 1.3fr .65fr .65fr; gap:11px; }
|
||||
.result-entry-fields label { min-width:0; display:grid; gap:6px; }
|
||||
.result-entry-fields label > span { color:#667187; font-size:10px; font-weight:700; }
|
||||
.result-entry-fields input,.result-entry-fields select { width:100%; min-height:40px; padding:8px 10px; border:1px solid #d7deea; border-radius:8px; color:#253149; background:#fff; font-size:11px; }
|
||||
.result-entry-fields select:disabled { color:#a0a7b4; background:#f4f6f9; }
|
||||
.result-entry-console .score-rule-hint { margin:12px 0; padding:10px 12px; border-left:3px solid #315fba; border-radius:6px; color:#61708c; background:#f1f5fc; font-size:10px; }
|
||||
.result-entry-submit { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:12px; border-top:1px solid #e8ecf2; }
|
||||
.result-entry-submit .agreement { margin:0; }
|
||||
.result-import-preview { margin-bottom:14px; overflow:hidden; border-color:#bed0e9; }
|
||||
.result-import-preview > header { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:20px 22px; color:#fff; background:linear-gradient(112deg,#142451,#234c77); }
|
||||
.result-import-preview header span { color:#83bdd0; font-size:9px; font-weight:800; letter-spacing:.14em; }
|
||||
.result-import-preview header h2 { margin:5px 0; font-family:"STKaiti","KaiTi",serif; font-size:23px; font-weight:400; }
|
||||
.result-import-preview header p { margin:0; color:#c1cedf; font-size:10px; }
|
||||
.result-import-preview header .row-action { border-color:#6d82a3; color:#fff; background:rgba(255,255,255,.08); }
|
||||
.import-preview-metrics { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:#e1e7ef; }
|
||||
.import-preview-metrics span { padding:13px 18px; background:#fff; }
|
||||
.import-preview-metrics small { display:block; color:#8993a5; font-size:9px; }
|
||||
.import-preview-metrics strong { display:block; margin-top:3px; color:#173f60; font-size:18px; }
|
||||
.import-preview-metrics .valid strong { color:#268466; }
|
||||
.import-preview-metrics .invalid strong { color:#c8473d; }
|
||||
.import-preview-table { min-width:1040px; }
|
||||
.import-preview-table tr.row-invalid { background:#fff4f2; }
|
||||
.import-preview-table td ul { margin:0; padding-left:15px; color:#b3453e; font-size:9px; }
|
||||
.import-preview-table td strong,.import-preview-table td small { display:block; }
|
||||
.import-preview-table td small { margin-top:3px; color:#8791a3; }
|
||||
.import-commit-bar { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 20px; border-top:1px solid #e1e7ef; background:#f7f9fc; }
|
||||
.import-commit-bar p { margin:0; color:#69768e; font-size:10px; }
|
||||
.result-ledger { margin-bottom:14px; overflow:hidden; }
|
||||
.result-ledger .data-toolbar { flex-wrap:wrap; }
|
||||
.result-ledger table { min-width:1120px; }
|
||||
.result-ledger td > strong,.result-ledger td > small { display:block; }
|
||||
.result-score { color:#173f60; font:700 18px Georgia,serif; }
|
||||
.result-score em { color:#929bad; font-size:10px; font-style:normal; }
|
||||
.result-qualified,.result-unqualified,.result-neutral { display:inline-flex; padding:5px 8px; border-radius:99px; font-size:9px; font-weight:700; }
|
||||
.result-qualified { color:#1f7459; background:#e2f3ec; }
|
||||
.result-unqualified { color:#a7453f; background:#fbe8e6; }
|
||||
.result-neutral { color:#69758c; background:#edf0f5; }
|
||||
.subject-pass-preview { margin:0; padding:9px 12px; border-top:1px dashed #dce3ee; color:#6d7890; background:#f8fafe; font-size:9px; }
|
||||
.candidate-result-overview { display:grid; grid-template-columns:repeat(4,1fr); gap:11px; margin-bottom:15px; }
|
||||
.candidate-result-overview article { display:flex; align-items:baseline; gap:5px; padding:16px 18px; border:1px solid #e0e5ee; border-radius:11px; background:#fff; box-shadow:0 8px 22px rgba(20,36,81,.05); }
|
||||
.candidate-result-overview small { margin-right:auto; color:#818b9e; font-size:9px; }
|
||||
.candidate-result-overview strong { color:#173f60; font:400 25px Georgia,serif; }
|
||||
.candidate-result-overview span { color:#8d96a7; font-size:9px; }
|
||||
.result-panel .result-summary { grid-template-columns:repeat(3,1fr); }
|
||||
.result-summary > span > i { display:block; margin-top:5px; color:#7e899c; font-size:9px; font-style:normal; }
|
||||
.score-grid article { position:relative; }
|
||||
.score-subject-head { display:flex; align-items:center; justify-content:space-between; gap:8px; }
|
||||
.score-subject-head i { padding:4px 7px; border-radius:99px; color:#6d7890; background:#edf0f5; font-size:8px; font-style:normal; }
|
||||
.score-grid article.qualified .score-subject-head i { color:#24755b; background:#e2f3ec; }
|
||||
.score-grid article.unqualified .score-subject-head i { color:#aa463f; background:#fbe8e6; }
|
||||
.score-grid article > strong small { color:#8d96a7; font-size:10px; }
|
||||
.score-progress { position:relative; height:7px; margin:10px 0 7px; border-radius:99px; background:#e8ecf3; }
|
||||
.score-progress > i { position:absolute; inset:0 auto 0 0; border-radius:99px; background:linear-gradient(90deg,#315fba,#4e8dc0); }
|
||||
.score-progress > b { position:absolute; top:-3px; width:2px; height:13px; background:#c8473d; box-shadow:0 0 0 2px #fff; }
|
||||
|
||||
@media (max-width: 1100px) {
|
||||
.result-metric-grid { grid-template-columns:repeat(3,1fr); }
|
||||
.result-entry-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
|
||||
.result-entry-fields label:first-child { grid-column:span 2; }
|
||||
}
|
||||
@media (max-width: 700px) {
|
||||
.result-metric-grid,.candidate-result-overview { grid-template-columns:repeat(2,1fr); }
|
||||
.result-entry-fields { grid-template-columns:1fr; }
|
||||
.result-entry-fields label:first-child { grid-column:auto; }
|
||||
.result-entry-submit,.result-import-preview > header,.import-commit-bar { align-items:flex-start; flex-direction:column; }
|
||||
.result-entry-submit button,.import-commit-bar button { width:100%; }
|
||||
.import-preview-metrics { grid-template-columns:repeat(2,1fr); }
|
||||
.result-panel .result-summary { grid-template-columns:1fr; }
|
||||
}
|
||||
|
||||
/* Admission-card arrangement engine */
|
||||
.arrangement-config { margin-bottom:15px; overflow:hidden; }.arrangement-config .panel-title { height:auto; min-height:74px; }.arrangement-config .panel-title p { margin:4px 0 0; color:var(--muted); font-size:8px; }.arrangement-config form { padding:20px; }.arrangement-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }.arrangement-fields label { display:grid; align-content:start; gap:6px; }.arrangement-fields label > span { color:#59657c; font-size:8px; font-weight:700; }.arrangement-fields select,.arrangement-fields input { width:100%; min-height:42px; padding:8px 10px; border:1px solid var(--line); border-radius:8px; color:var(--ink); background:#fff; font-size:9px; }.arrangement-fields label small { color:#9199a9; font-size:7px; line-height:1.6; }.arrangement-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:16px; }.arrangement-preview { display:grid; gap:5px; margin:0 20px 20px; padding:13px 15px; border-radius:9px; }.arrangement-preview.ok { color:#245f4c; background:#e7f4ef; }.arrangement-preview.warning { color:#795a27; background:#fff3dc; }.arrangement-preview strong { font-size:9px; }.arrangement-preview span,.arrangement-preview small,.arrangement-preview li { font-size:8px; }.arrangement-preview ul { margin:5px 0 0; padding-left:18px; }
|
||||
.arrangement-rules { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-bottom:15px; }.arrangement-rules article { display:grid; align-content:start; gap:6px; min-height:155px; padding:16px; border:1px solid var(--line); border-radius:11px; background:linear-gradient(145deg,#fff,#f5f7fb); }.arrangement-rules span { color:#8792a9; font-size:7px; }.arrangement-rules h3 { margin:0; font-family:"STKaiti"; font-size:16px; font-weight:400; }.arrangement-rules p { margin:0; color:#818b9f; font-size:7px; line-height:1.7; }.arrangement-rules code { margin-top:auto; color:var(--blue); font-size:10px; }
|
||||
|
||||
Reference in New Issue
Block a user