2384 lines
38 KiB
CSS
2384 lines
38 KiB
CSS
:root {
|
|
color-scheme: light;
|
|
--bg: #f6f7f9;
|
|
--panel: #ffffff;
|
|
--text: #18202a;
|
|
--muted: #687487;
|
|
--line: #d9dee7;
|
|
--accent: #0f766e;
|
|
--accent-strong: #0b5d57;
|
|
--danger: #b42318;
|
|
--warn: #b54708;
|
|
--ok: #237a42;
|
|
--shadow: 0 12px 28px rgba(20, 31, 46, 0.08);
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
html {
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
[hidden] {
|
|
display: none !important;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
min-height: 100vh;
|
|
overflow-x: hidden;
|
|
background: var(--bg);
|
|
color: var(--text);
|
|
font-family: Arial, "Songti SC", SimSun, sans-serif;
|
|
font-size: 15px;
|
|
}
|
|
|
|
button,
|
|
input,
|
|
select {
|
|
font: inherit;
|
|
}
|
|
|
|
button {
|
|
touch-action: manipulation;
|
|
}
|
|
|
|
.topbar {
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 2;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 16px;
|
|
padding: 18px 24px;
|
|
border-bottom: 1px solid var(--line);
|
|
background: rgba(246, 247, 249, 0.96);
|
|
backdrop-filter: blur(10px);
|
|
}
|
|
|
|
h1,
|
|
h2,
|
|
p {
|
|
margin: 0;
|
|
}
|
|
|
|
h1 {
|
|
font-size: 22px;
|
|
line-height: 1.25;
|
|
letter-spacing: 0;
|
|
}
|
|
|
|
h2 {
|
|
font-size: 18px;
|
|
line-height: 1.3;
|
|
letter-spacing: 0;
|
|
}
|
|
|
|
.topbar p {
|
|
margin-top: 6px;
|
|
color: var(--muted);
|
|
font-size: 13px;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.top-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
flex: 0 0 auto;
|
|
min-width: 0;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.nav-button {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 42px;
|
|
padding: 0 14px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: var(--panel);
|
|
color: var(--text);
|
|
font-size: 14px;
|
|
font-weight: 700;
|
|
text-decoration: none;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.nav-button:hover {
|
|
border-color: var(--accent);
|
|
color: var(--accent-strong);
|
|
}
|
|
|
|
.icon-button {
|
|
width: 42px;
|
|
height: 42px;
|
|
flex: 0 0 auto;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: var(--panel);
|
|
color: var(--text);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.layout {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1.5fr) minmax(340px, 0.8fr);
|
|
gap: 18px;
|
|
padding: 18px 24px 28px;
|
|
}
|
|
|
|
.records-layout,
|
|
.account-layout {
|
|
grid-template-columns: minmax(0, 1fr);
|
|
}
|
|
|
|
.admin-layout {
|
|
gap: 12px;
|
|
}
|
|
|
|
.panel {
|
|
min-width: 0;
|
|
border: 1px solid var(--line);
|
|
border-radius: 8px;
|
|
background: var(--panel);
|
|
box-shadow: var(--shadow);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.section-head {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
padding: 16px;
|
|
border-bottom: 1px solid var(--line);
|
|
}
|
|
|
|
.quick-actions {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
justify-content: flex-end;
|
|
min-width: 0;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.admin-tabs {
|
|
display: flex;
|
|
gap: 8px;
|
|
padding: 0 0 4px;
|
|
max-width: 100%;
|
|
overflow-x: auto;
|
|
overscroll-behavior-x: contain;
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
.admin-tab {
|
|
flex: 0 0 auto;
|
|
min-height: 38px;
|
|
padding: 0 14px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: var(--panel);
|
|
color: var(--text);
|
|
cursor: pointer;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.admin-tab.is-active,
|
|
.admin-tab:hover {
|
|
border-color: var(--accent);
|
|
background: #e9f5f3;
|
|
color: var(--accent-strong);
|
|
}
|
|
|
|
.chip,
|
|
.search-row button {
|
|
border: 0;
|
|
border-radius: 6px;
|
|
background: var(--accent);
|
|
color: #fff;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.chip {
|
|
min-height: 32px;
|
|
padding: 6px 10px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.chip:hover,
|
|
.search-row button:hover {
|
|
background: var(--accent-strong);
|
|
}
|
|
|
|
.search-row {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) 88px;
|
|
gap: 10px;
|
|
padding: 16px;
|
|
border-bottom: 1px solid var(--line);
|
|
}
|
|
|
|
.search-row.compact {
|
|
grid-template-columns: minmax(0, 1fr) 76px;
|
|
}
|
|
|
|
.summary-search-row {
|
|
grid-template-columns: minmax(180px, 1.4fr) repeat(7, minmax(104px, 0.8fr)) 88px;
|
|
}
|
|
|
|
input,
|
|
select {
|
|
min-width: 0;
|
|
height: 42px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
color: var(--text);
|
|
outline: none;
|
|
}
|
|
|
|
input {
|
|
padding: 0 12px;
|
|
}
|
|
|
|
select {
|
|
padding: 0 10px;
|
|
}
|
|
|
|
input:focus,
|
|
select:focus {
|
|
border-color: var(--accent);
|
|
box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.15);
|
|
}
|
|
|
|
.search-row button {
|
|
min-height: 42px;
|
|
}
|
|
|
|
.summary-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
gap: 10px;
|
|
padding: 14px 16px;
|
|
border-bottom: 1px solid var(--line);
|
|
}
|
|
|
|
.dashboard-periods .chip {
|
|
border: 1px solid transparent;
|
|
}
|
|
|
|
.dashboard-periods .chip.is-active {
|
|
border-color: var(--accent);
|
|
background: #e9f5f3;
|
|
color: var(--accent-strong);
|
|
}
|
|
|
|
.dashboard-content {
|
|
display: grid;
|
|
gap: 18px;
|
|
padding: 16px;
|
|
}
|
|
|
|
.dashboard-loading {
|
|
padding: 28px 16px;
|
|
color: var(--muted);
|
|
text-align: center;
|
|
}
|
|
|
|
.dashboard-loading.is-error {
|
|
color: var(--danger);
|
|
font-weight: 700;
|
|
}
|
|
|
|
.dashboard-section {
|
|
display: grid;
|
|
gap: 12px;
|
|
padding-bottom: 18px;
|
|
border-bottom: 1px solid var(--line);
|
|
}
|
|
|
|
.dashboard-section:last-child {
|
|
padding-bottom: 0;
|
|
border-bottom: 0;
|
|
}
|
|
|
|
.dashboard-section-head {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
}
|
|
|
|
.dashboard-section-head h3,
|
|
.dashboard-card h4 {
|
|
margin: 0;
|
|
line-height: 1.3;
|
|
letter-spacing: 0;
|
|
}
|
|
|
|
.dashboard-section-head h3 {
|
|
font-size: 17px;
|
|
}
|
|
|
|
.dashboard-card h4 {
|
|
font-size: 14px;
|
|
}
|
|
|
|
.dashboard-actions {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
justify-content: flex-end;
|
|
gap: 8px;
|
|
}
|
|
|
|
.dashboard-grid {
|
|
display: grid;
|
|
gap: 12px;
|
|
}
|
|
|
|
.dashboard-grid.two {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.dashboard-grid.three {
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.dashboard-grid.four {
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
}
|
|
|
|
.dashboard-card {
|
|
min-width: 0;
|
|
padding: 14px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #fbfcfd;
|
|
}
|
|
|
|
.dashboard-card h4 {
|
|
margin-bottom: 12px;
|
|
color: #344054;
|
|
}
|
|
|
|
.dashboard-mini-metrics {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
gap: 8px;
|
|
}
|
|
|
|
.dashboard-mini-metrics .metric {
|
|
padding: 8px;
|
|
background: #fff;
|
|
}
|
|
|
|
.dashboard-mini-metrics .metric strong {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.dashboard-list,
|
|
.dashboard-bar-list {
|
|
display: grid;
|
|
gap: 8px;
|
|
}
|
|
|
|
.dashboard-empty {
|
|
min-height: 40px;
|
|
display: grid;
|
|
place-items: center;
|
|
padding: 10px;
|
|
border: 1px dashed var(--line);
|
|
border-radius: 6px;
|
|
color: var(--muted);
|
|
font-size: 13px;
|
|
text-align: center;
|
|
}
|
|
|
|
.dashboard-list-row {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) auto auto;
|
|
align-items: center;
|
|
gap: 10px;
|
|
width: 100%;
|
|
min-height: 46px;
|
|
padding: 8px 10px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
color: var(--text);
|
|
cursor: pointer;
|
|
text-align: left;
|
|
}
|
|
|
|
.dashboard-list-row:hover {
|
|
border-color: var(--accent);
|
|
}
|
|
|
|
.dashboard-list-row strong,
|
|
.dashboard-list-row small {
|
|
display: block;
|
|
min-width: 0;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.dashboard-list-row small {
|
|
margin-top: 2px;
|
|
color: var(--muted);
|
|
font-size: 12px;
|
|
}
|
|
|
|
.dashboard-list-value {
|
|
color: #344054;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.log-summary-row {
|
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
}
|
|
|
|
.dashboard-bar-row {
|
|
display: grid;
|
|
grid-template-columns: minmax(72px, 0.75fr) minmax(80px, 1fr) minmax(72px, auto);
|
|
align-items: center;
|
|
gap: 8px;
|
|
min-height: 28px;
|
|
}
|
|
|
|
.dashboard-bar-label,
|
|
.dashboard-bar-value {
|
|
overflow-wrap: anywhere;
|
|
color: #344054;
|
|
font-size: 13px;
|
|
line-height: 1.35;
|
|
}
|
|
|
|
.dashboard-bar-value {
|
|
text-align: right;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.dashboard-bar-track {
|
|
height: 8px;
|
|
overflow: hidden;
|
|
border-radius: 999px;
|
|
background: #eef2f6;
|
|
}
|
|
|
|
.dashboard-bar-track span {
|
|
display: block;
|
|
height: 100%;
|
|
border-radius: inherit;
|
|
background: #0f766e;
|
|
}
|
|
|
|
.metric {
|
|
min-width: 0;
|
|
padding: 10px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #fafbfc;
|
|
}
|
|
|
|
.metric span {
|
|
display: block;
|
|
color: var(--muted);
|
|
font-size: 12px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.metric strong {
|
|
display: block;
|
|
margin-top: 4px;
|
|
overflow-wrap: anywhere;
|
|
font-size: 18px;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.payment-line {
|
|
display: block;
|
|
}
|
|
|
|
.inline-account {
|
|
padding: 14px 16px;
|
|
border-bottom: 1px solid var(--line);
|
|
background: #fbfcfd;
|
|
}
|
|
|
|
.inline-account-head {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
margin-bottom: 12px;
|
|
}
|
|
|
|
.inline-account h3 {
|
|
margin: 0;
|
|
font-size: 16px;
|
|
line-height: 1.25;
|
|
letter-spacing: 0;
|
|
}
|
|
|
|
.inline-account p {
|
|
margin-top: 4px;
|
|
color: var(--muted);
|
|
font-size: 13px;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.inline-account-grid {
|
|
display: grid;
|
|
grid-template-columns: 130px 130px minmax(0, 1fr) minmax(160px, 0.6fr);
|
|
gap: 10px;
|
|
}
|
|
|
|
.inline-account-loading {
|
|
color: var(--muted);
|
|
font-size: 14px;
|
|
}
|
|
|
|
.admin-editor {
|
|
border-bottom: 1px solid var(--line);
|
|
background: #fbfcfd;
|
|
}
|
|
|
|
.compact-head {
|
|
padding: 12px 16px;
|
|
}
|
|
|
|
.admin-form {
|
|
padding: 16px;
|
|
}
|
|
|
|
.admin-form h3 {
|
|
margin: 0 0 10px;
|
|
font-size: 16px;
|
|
line-height: 1.25;
|
|
}
|
|
|
|
.form-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: 12px;
|
|
}
|
|
|
|
.form-grid label {
|
|
display: grid;
|
|
gap: 6px;
|
|
color: #344054;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.compact-grid {
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
}
|
|
|
|
.form-hint {
|
|
grid-column: 1 / -1;
|
|
color: #475467;
|
|
font-size: 13px;
|
|
line-height: 1.45;
|
|
}
|
|
|
|
.suggested-input {
|
|
border-color: #f59e0b;
|
|
background: #fffbeb;
|
|
}
|
|
|
|
.span-2 {
|
|
grid-column: span 2;
|
|
}
|
|
|
|
textarea {
|
|
width: 100%;
|
|
min-width: 0;
|
|
padding: 10px 12px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
color: var(--text);
|
|
font: inherit;
|
|
resize: vertical;
|
|
outline: none;
|
|
}
|
|
|
|
textarea:focus {
|
|
border-color: var(--accent);
|
|
box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.15);
|
|
}
|
|
|
|
.register-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
gap: 12px;
|
|
}
|
|
|
|
.register-preview {
|
|
display: grid;
|
|
gap: 8px;
|
|
padding: 10px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #f8fafc;
|
|
}
|
|
|
|
.register-preview strong {
|
|
color: var(--text);
|
|
font-size: 13px;
|
|
}
|
|
|
|
.register-preview pre {
|
|
margin: 0;
|
|
max-height: 220px;
|
|
overflow: auto;
|
|
white-space: pre-wrap;
|
|
overflow-wrap: anywhere;
|
|
color: #344054;
|
|
font-family: Arial, "Songti SC", SimSun, sans-serif;
|
|
font-size: 13px;
|
|
line-height: 1.45;
|
|
}
|
|
|
|
.register-preview-head {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 10px;
|
|
}
|
|
|
|
.register-preview-head span {
|
|
color: var(--muted);
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.register-line-list {
|
|
display: grid;
|
|
gap: 6px;
|
|
max-height: 220px;
|
|
margin: 0;
|
|
padding: 0;
|
|
overflow: auto;
|
|
list-style: none;
|
|
}
|
|
|
|
.register-line-list li {
|
|
display: grid;
|
|
grid-template-columns: 28px minmax(0, 1fr);
|
|
gap: 8px;
|
|
align-items: start;
|
|
padding: 8px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
}
|
|
|
|
.register-line-list span {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 22px;
|
|
border-radius: 999px;
|
|
background: #e9f5f3;
|
|
color: var(--accent-strong);
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.register-line-list code {
|
|
color: #344054;
|
|
font-family: Arial, "Songti SC", SimSun, sans-serif;
|
|
font-size: 13px;
|
|
line-height: 1.45;
|
|
white-space: pre-wrap;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.register-preview textarea {
|
|
min-height: 72px;
|
|
}
|
|
|
|
.register-draft {
|
|
display: grid;
|
|
gap: 6px;
|
|
padding: 8px 10px;
|
|
border: 1px dashed var(--line);
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
color: #344054;
|
|
font-size: 13px;
|
|
line-height: 1.45;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.register-draft span {
|
|
min-height: 22px;
|
|
}
|
|
|
|
.register-draft .pending-field {
|
|
display: inline-block;
|
|
padding: 0 6px;
|
|
border-radius: 999px;
|
|
background: #eef2ff;
|
|
color: #475569;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.readonly-register-draft {
|
|
display: block;
|
|
}
|
|
|
|
.readonly-register-draft pre {
|
|
margin: 0;
|
|
white-space: pre-wrap;
|
|
overflow-wrap: anywhere;
|
|
font: inherit;
|
|
}
|
|
|
|
.register-draft-list {
|
|
display: grid;
|
|
gap: 10px;
|
|
}
|
|
|
|
.register-draft-item {
|
|
display: grid;
|
|
gap: 8px;
|
|
}
|
|
|
|
.register-draft input,
|
|
.register-draft textarea {
|
|
width: 100%;
|
|
min-width: 0;
|
|
padding: 6px 8px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 4px;
|
|
background: #fff;
|
|
}
|
|
|
|
.payment-draft {
|
|
grid-template-columns: minmax(90px, 1fr) auto minmax(120px, 1fr) auto minmax(80px, 0.8fr);
|
|
align-items: center;
|
|
}
|
|
|
|
.payment-draft b {
|
|
color: #667085;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.summary-draft pre {
|
|
margin: 0;
|
|
white-space: pre-wrap;
|
|
}
|
|
|
|
.register-field-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
|
|
gap: 10px;
|
|
}
|
|
|
|
.register-field-grid label {
|
|
display: grid;
|
|
gap: 4px;
|
|
color: #52606d;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.register-field-grid input,
|
|
.register-field-grid textarea {
|
|
width: 100%;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.register-field-grid label:has(textarea) {
|
|
grid-column: 1 / -1;
|
|
}
|
|
|
|
.line-code {
|
|
display: block;
|
|
max-width: 420px;
|
|
white-space: normal;
|
|
overflow-wrap: anywhere;
|
|
font-family: Arial, "Songti SC", SimSun, sans-serif;
|
|
font-size: 13px;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.summary-body,
|
|
.log-detail {
|
|
max-width: 360px;
|
|
white-space: pre-wrap;
|
|
overflow-wrap: anywhere;
|
|
color: #344054;
|
|
font-size: 13px;
|
|
line-height: 1.45;
|
|
}
|
|
|
|
.log-detail {
|
|
max-width: none;
|
|
}
|
|
|
|
.log-row {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.log-row:hover td {
|
|
background: #f8fafc;
|
|
}
|
|
|
|
.log-row .record-action-cell {
|
|
cursor: default;
|
|
}
|
|
|
|
.log-detail-row td {
|
|
padding: 0;
|
|
background: #fbfcfd;
|
|
}
|
|
|
|
.log-detail-panel {
|
|
padding: 14px 16px 16px;
|
|
border-top: 1px solid var(--line);
|
|
}
|
|
|
|
.log-detail-group + .log-detail-group {
|
|
margin-top: 12px;
|
|
}
|
|
|
|
.log-detail-group h3 {
|
|
margin: 0 0 8px;
|
|
color: var(--accent-strong);
|
|
font-size: 13px;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.log-detail-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: 8px 16px;
|
|
}
|
|
|
|
.log-detail-field {
|
|
display: grid;
|
|
gap: 4px;
|
|
}
|
|
|
|
.log-detail-field span {
|
|
color: #52606d;
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.log-detail-field code {
|
|
white-space: pre-wrap;
|
|
overflow-wrap: anywhere;
|
|
color: #344054;
|
|
font: inherit;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.log-detail-panel .muted {
|
|
color: #98a2b3;
|
|
}
|
|
|
|
.summary-preview {
|
|
display: -webkit-box;
|
|
max-height: 4.35em;
|
|
overflow: hidden;
|
|
-webkit-box-orient: vertical;
|
|
-webkit-line-clamp: 3;
|
|
}
|
|
|
|
.summary-suggested {
|
|
color: var(--warn);
|
|
font-weight: 700;
|
|
}
|
|
|
|
.summary-review-reasons {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
flex-wrap: wrap;
|
|
gap: 6px;
|
|
}
|
|
|
|
.summary-review-reasons span {
|
|
max-width: 260px;
|
|
padding: 3px 8px;
|
|
border-radius: 999px;
|
|
background: #f2f4f7;
|
|
color: #475467;
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
line-height: 1.35;
|
|
}
|
|
|
|
.summary-review-reasons span:first-child {
|
|
background: #fef0c7;
|
|
color: var(--warn);
|
|
}
|
|
|
|
.summary-full {
|
|
max-width: min(720px, 72vw);
|
|
margin-top: 8px;
|
|
padding-top: 8px;
|
|
border-top: 1px solid var(--line);
|
|
}
|
|
|
|
.summary-conflict-list {
|
|
display: grid;
|
|
gap: 10px;
|
|
}
|
|
|
|
.summary-conflict-list .record-summary-item,
|
|
.summary-conflict-source,
|
|
.summary-conflict-reasons {
|
|
padding: 12px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
}
|
|
|
|
.summary-conflict-list .summary-body {
|
|
max-width: none;
|
|
}
|
|
|
|
.duplicate-summary-title-row {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
gap: 10px;
|
|
}
|
|
|
|
.summary-conflict-heading {
|
|
color: var(--accent-strong);
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.summary-conflict-reasons {
|
|
color: #344054;
|
|
font-size: 13px;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.summary-search-result-row {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.summary-search-result-row:hover td {
|
|
background: #f8fafc;
|
|
}
|
|
|
|
.summary-search-result-row.unmatched-summary td:first-child {
|
|
position: relative;
|
|
padding-left: 18px;
|
|
}
|
|
|
|
.summary-search-result-row.unmatched-summary td:first-child::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
bottom: 0;
|
|
width: 4px;
|
|
background: #f59e0b;
|
|
}
|
|
|
|
.summary-search-detail-row td {
|
|
padding: 0;
|
|
background: #fbfcfd;
|
|
}
|
|
|
|
.summary-search-detail-panel {
|
|
position: relative;
|
|
padding: 14px 16px 16px;
|
|
border-top: 1px solid var(--line);
|
|
}
|
|
|
|
.summary-search-detail-panel.unmatched-summary {
|
|
padding-left: 22px;
|
|
}
|
|
|
|
.summary-search-detail-panel.unmatched-summary::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
bottom: 0;
|
|
width: 4px;
|
|
background: #f59e0b;
|
|
}
|
|
|
|
.summary-search-detail-head {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.summary-binding-status {
|
|
display: grid;
|
|
gap: 4px;
|
|
align-items: start;
|
|
}
|
|
|
|
.summary-binding-badge {
|
|
width: max-content;
|
|
}
|
|
|
|
.summary-binding-status small {
|
|
color: var(--muted);
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.summary-binding-panel {
|
|
display: grid;
|
|
gap: 10px;
|
|
margin-bottom: 12px;
|
|
padding: 12px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
}
|
|
|
|
.summary-binding-panel.matched {
|
|
border-color: #bbf7d0;
|
|
background: #f0fdf4;
|
|
}
|
|
|
|
.summary-binding-title {
|
|
color: #344054;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.summary-binding-record {
|
|
color: var(--text);
|
|
font-size: 14px;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.summary-binding-candidate {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
gap: 12px;
|
|
align-items: center;
|
|
padding-top: 10px;
|
|
border-top: 1px solid var(--line);
|
|
}
|
|
|
|
.summary-binding-candidate small {
|
|
color: var(--muted);
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.summary-task-section {
|
|
margin-top: 22px;
|
|
padding-top: 18px;
|
|
border-top: 1px solid var(--line);
|
|
}
|
|
|
|
.summary-search-full {
|
|
max-width: none;
|
|
}
|
|
|
|
.summary-body-edit-panel {
|
|
display: grid;
|
|
gap: 10px;
|
|
}
|
|
|
|
.summary-identity-edit-panel {
|
|
display: grid;
|
|
gap: 10px;
|
|
margin-bottom: 12px;
|
|
padding: 12px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
}
|
|
|
|
.summary-identity-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: 10px;
|
|
}
|
|
|
|
.summary-identity-grid label {
|
|
display: grid;
|
|
gap: 6px;
|
|
color: #344054;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.summary-identity-grid input {
|
|
width: 100%;
|
|
min-width: 0;
|
|
}
|
|
|
|
.summary-body-editor {
|
|
min-height: 220px;
|
|
font-family: Arial, "Songti SC", SimSun, sans-serif;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.summary-edit-actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.summary-search-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
flex-wrap: wrap;
|
|
gap: 10px;
|
|
margin-top: 14px;
|
|
padding-top: 12px;
|
|
border-top: 1px solid var(--line);
|
|
}
|
|
|
|
.summary-search-actions .summary-time-actions {
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.summary-action-note {
|
|
color: var(--muted);
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.muted {
|
|
color: var(--muted);
|
|
}
|
|
|
|
.correction-toolbar {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
padding: 12px 16px;
|
|
border-bottom: 1px solid var(--line);
|
|
background: #f8fbfb;
|
|
}
|
|
|
|
.correction-toolbar span {
|
|
color: var(--accent-strong);
|
|
font-size: 14px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.correction-toolbar span.is-error {
|
|
color: var(--danger);
|
|
}
|
|
|
|
.toolbar-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
}
|
|
|
|
.correction-toolbar button,
|
|
.modal-actions button {
|
|
min-height: 38px;
|
|
border: 0;
|
|
border-radius: 6px;
|
|
background: var(--accent);
|
|
color: #fff;
|
|
cursor: pointer;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.correction-toolbar button {
|
|
padding: 0 14px;
|
|
}
|
|
|
|
.correction-toolbar button:hover,
|
|
.modal-actions button:hover {
|
|
background: var(--accent-strong);
|
|
}
|
|
|
|
.correction-toolbar button:disabled {
|
|
cursor: not-allowed;
|
|
opacity: 0.55;
|
|
}
|
|
|
|
.table-wrap {
|
|
max-height: calc(100vh - 292px);
|
|
overflow-x: auto;
|
|
overflow-y: auto;
|
|
overscroll-behavior-x: contain;
|
|
overscroll-behavior-y: auto;
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
.account-table-wrap {
|
|
max-height: calc(100vh - 262px);
|
|
}
|
|
|
|
.pager {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
padding: 12px 16px;
|
|
border-top: 1px solid var(--line);
|
|
background: #fbfcfd;
|
|
}
|
|
|
|
.pager-info {
|
|
min-width: 0;
|
|
color: #344054;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.pager-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.pager-actions .secondary-button {
|
|
min-width: 76px;
|
|
}
|
|
|
|
table {
|
|
width: 100%;
|
|
min-width: 720px;
|
|
border-collapse: collapse;
|
|
}
|
|
|
|
.admin-panel table,
|
|
.records-panel table {
|
|
min-width: 820px;
|
|
}
|
|
|
|
th,
|
|
td {
|
|
padding: 10px 12px;
|
|
border-bottom: 1px solid var(--line);
|
|
text-align: left;
|
|
vertical-align: top;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
th {
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 1;
|
|
background: #f3f5f8;
|
|
color: #344054;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.sort-header-button {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
min-width: 64px;
|
|
padding: 0;
|
|
border: 0;
|
|
background: transparent;
|
|
color: inherit;
|
|
cursor: pointer;
|
|
font: inherit;
|
|
font-weight: 700;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.sort-header-button:hover,
|
|
.sort-header-button:focus-visible {
|
|
color: var(--accent-strong);
|
|
}
|
|
|
|
.sort-header-button:focus-visible {
|
|
border-radius: 4px;
|
|
outline: 2px solid rgba(15, 118, 110, 0.35);
|
|
outline-offset: 3px;
|
|
}
|
|
|
|
td {
|
|
font-size: 14px;
|
|
}
|
|
|
|
.teacher-group td {
|
|
padding: 11px 12px;
|
|
border-top: 1px solid #b7d8d4;
|
|
border-bottom: 1px solid #b7d8d4;
|
|
background: #e9f5f3;
|
|
}
|
|
|
|
.teacher-group-title {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
color: var(--accent-strong);
|
|
}
|
|
|
|
.teacher-group-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
width: 100%;
|
|
min-height: 34px;
|
|
padding: 0;
|
|
border: 0;
|
|
background: transparent;
|
|
color: var(--accent-strong);
|
|
cursor: pointer;
|
|
text-align: left;
|
|
}
|
|
|
|
.teacher-group-title strong {
|
|
font-size: 15px;
|
|
line-height: 1.25;
|
|
}
|
|
|
|
.teacher-group-title span,
|
|
.teacher-group-toggle span {
|
|
color: #344054;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.teacher-group-toggle strong {
|
|
font-size: 15px;
|
|
line-height: 1.25;
|
|
}
|
|
|
|
.record-row td:nth-child(4) {
|
|
color: var(--muted);
|
|
}
|
|
|
|
.record-index-cell {
|
|
color: var(--muted);
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
.record-row {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.record-row:hover td {
|
|
background: #f8fafc;
|
|
}
|
|
|
|
.record-row .record-action-cell {
|
|
cursor: default;
|
|
}
|
|
|
|
.corrected-row td {
|
|
background: #fffaf0;
|
|
}
|
|
|
|
.record-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
}
|
|
|
|
.small-button {
|
|
min-height: 30px;
|
|
padding: 0 10px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
color: var(--text);
|
|
cursor: pointer;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.small-button:hover {
|
|
border-color: var(--accent);
|
|
color: var(--accent-strong);
|
|
}
|
|
|
|
.small-button:disabled {
|
|
border-color: #e4e7ec;
|
|
background: #f2f4f7;
|
|
color: #98a2b3;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.small-button:disabled:hover {
|
|
border-color: #e4e7ec;
|
|
color: #98a2b3;
|
|
}
|
|
|
|
.summary-collapse-row td {
|
|
padding: 0;
|
|
background: #fbfcfd;
|
|
}
|
|
|
|
.summary-missing-row td {
|
|
background: #fcfcfd;
|
|
}
|
|
|
|
.record-summary-item {
|
|
padding: 12px 16px;
|
|
border-top: 1px solid var(--line);
|
|
}
|
|
|
|
.record-summary-meta {
|
|
margin-top: 4px;
|
|
color: var(--muted);
|
|
font-size: 13px;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.record-row.missing-summary td:first-child {
|
|
position: relative;
|
|
padding-left: 18px;
|
|
}
|
|
|
|
.record-row.missing-summary td:first-child::before {
|
|
content: "";
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
bottom: 0;
|
|
width: 4px;
|
|
background: #f59e0b;
|
|
}
|
|
|
|
.record-summary-title {
|
|
margin-bottom: 8px;
|
|
color: var(--accent-strong);
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.summary-time-actions {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
align-items: center;
|
|
}
|
|
|
|
.summary-time-input {
|
|
width: 120px;
|
|
height: 32px;
|
|
padding: 0 8px;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.summary-missing {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 8em);
|
|
align-items: center;
|
|
justify-content: flex-start;
|
|
gap: 10px;
|
|
padding: 12px 16px 12px 18px;
|
|
border-left: 4px solid #f59e0b;
|
|
color: var(--muted);
|
|
font-size: 13px;
|
|
}
|
|
|
|
.summary-missing > span {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
min-height: 30px;
|
|
}
|
|
|
|
.summary-supplement {
|
|
width: 100%;
|
|
padding: 0;
|
|
}
|
|
|
|
.summary-supplement-modal {
|
|
width: min(100%, 700px);
|
|
}
|
|
|
|
.summary-supplement-body {
|
|
display: grid;
|
|
gap: 6px;
|
|
color: #344054;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.summary-supplement-body textarea {
|
|
width: 100%;
|
|
min-height: 180px;
|
|
padding: 10px 12px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
color: var(--text);
|
|
font: inherit;
|
|
resize: vertical;
|
|
}
|
|
|
|
.summary-supplement-body textarea:focus {
|
|
border-color: var(--accent);
|
|
outline: none;
|
|
box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.15);
|
|
}
|
|
|
|
.correction-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
min-height: 24px;
|
|
padding: 0 8px;
|
|
border-radius: 999px;
|
|
background: #fef0c7;
|
|
color: var(--warn);
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.review-tag {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
width: fit-content;
|
|
min-height: 22px;
|
|
margin: 0 0 6px;
|
|
padding: 0 8px;
|
|
border-radius: 999px;
|
|
background: #e0f2fe;
|
|
color: #075985;
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.review-tag.history {
|
|
background: #fef0c7;
|
|
color: var(--warn);
|
|
}
|
|
|
|
.note-cell {
|
|
color: var(--muted);
|
|
white-space: normal;
|
|
}
|
|
|
|
.num {
|
|
text-align: right;
|
|
}
|
|
|
|
.empty {
|
|
color: var(--muted);
|
|
text-align: center;
|
|
white-space: normal;
|
|
}
|
|
|
|
.status {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
min-width: 44px;
|
|
justify-content: center;
|
|
padding: 3px 8px;
|
|
border-radius: 999px;
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.status.debt {
|
|
background: #fee4e2;
|
|
color: var(--danger);
|
|
}
|
|
|
|
.status.warning {
|
|
background: #fef0c7;
|
|
color: var(--warn);
|
|
}
|
|
|
|
.status.normal {
|
|
background: #dcfae6;
|
|
color: var(--ok);
|
|
}
|
|
|
|
.status.closed {
|
|
background: #e4e7ec;
|
|
color: #475467;
|
|
}
|
|
|
|
.drawer-backdrop {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 30;
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
background: rgba(16, 24, 40, 0.38);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.drawer-backdrop[hidden] {
|
|
display: none;
|
|
}
|
|
|
|
.summary-review-drawer {
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: min(720px, 100%);
|
|
max-height: 100vh;
|
|
min-width: 0;
|
|
border-left: 1px solid var(--line);
|
|
background: var(--panel);
|
|
box-shadow: -20px 0 48px rgba(16, 24, 40, 0.2);
|
|
}
|
|
|
|
.drawer-head {
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
padding: 18px 20px;
|
|
border-bottom: 1px solid var(--line);
|
|
}
|
|
|
|
.drawer-head h2 {
|
|
margin: 0 0 6px;
|
|
}
|
|
|
|
.drawer-meta {
|
|
display: flex;
|
|
align-items: center;
|
|
flex-wrap: wrap;
|
|
gap: 8px;
|
|
color: var(--muted);
|
|
font-size: 13px;
|
|
}
|
|
|
|
.drawer-content {
|
|
display: grid;
|
|
gap: 14px;
|
|
padding: 18px 20px;
|
|
overflow: auto;
|
|
}
|
|
|
|
.drawer-section {
|
|
display: grid;
|
|
gap: 7px;
|
|
}
|
|
|
|
.drawer-label {
|
|
color: var(--muted);
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.drawer-text,
|
|
.drawer-body {
|
|
white-space: pre-wrap;
|
|
overflow-wrap: anywhere;
|
|
color: #344054;
|
|
font-size: 14px;
|
|
line-height: 1.55;
|
|
}
|
|
|
|
.drawer-body {
|
|
padding: 12px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #fafbfc;
|
|
}
|
|
|
|
.drawer-actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
padding: 14px 20px;
|
|
border-top: 1px solid var(--line);
|
|
background: #fff;
|
|
}
|
|
|
|
.drawer-actions button {
|
|
min-height: 38px;
|
|
padding: 0 16px;
|
|
border: 0;
|
|
border-radius: 6px;
|
|
background: var(--accent);
|
|
color: #fff;
|
|
cursor: pointer;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.drawer-actions .secondary-button {
|
|
border: 1px solid var(--line);
|
|
background: #fff;
|
|
color: var(--text);
|
|
}
|
|
|
|
.drawer-actions button:hover {
|
|
background: var(--accent-strong);
|
|
}
|
|
|
|
.drawer-actions .secondary-button:hover {
|
|
border-color: var(--accent);
|
|
background: #fff;
|
|
color: var(--accent-strong);
|
|
}
|
|
|
|
.drawer-actions button:disabled {
|
|
cursor: not-allowed;
|
|
opacity: 0.55;
|
|
}
|
|
|
|
.modal-backdrop {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 20;
|
|
display: grid;
|
|
place-items: center;
|
|
padding: 18px;
|
|
background: rgba(16, 24, 40, 0.42);
|
|
}
|
|
|
|
.correction-modal {
|
|
width: min(100%, 760px);
|
|
max-height: calc(100vh - 36px);
|
|
min-width: 0;
|
|
overflow: auto;
|
|
border: 1px solid var(--line);
|
|
border-radius: 8px;
|
|
background: var(--panel);
|
|
box-shadow: 0 20px 48px rgba(16, 24, 40, 0.22);
|
|
}
|
|
|
|
.modal-head {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
padding: 16px;
|
|
border-bottom: 1px solid var(--line);
|
|
}
|
|
|
|
.modal-close,
|
|
.secondary-button {
|
|
min-height: 36px;
|
|
padding: 0 12px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #fff;
|
|
color: var(--text);
|
|
cursor: pointer;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.modal-close:hover,
|
|
.secondary-button:hover {
|
|
border-color: var(--accent);
|
|
color: var(--accent-strong);
|
|
}
|
|
|
|
.correction-form {
|
|
padding: 16px;
|
|
}
|
|
|
|
.correction-original {
|
|
margin-bottom: 14px;
|
|
color: var(--muted);
|
|
font-size: 13px;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.correction-fields {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: 12px;
|
|
}
|
|
|
|
.correction-fields label {
|
|
display: grid;
|
|
gap: 6px;
|
|
color: #344054;
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.correction-error {
|
|
margin-top: 12px;
|
|
color: var(--danger);
|
|
font-size: 13px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.correction-preview {
|
|
margin-top: 14px;
|
|
padding: 12px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 6px;
|
|
background: #fafbfc;
|
|
}
|
|
|
|
.correction-preview span {
|
|
display: block;
|
|
margin-bottom: 6px;
|
|
color: var(--muted);
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.correction-preview code {
|
|
display: block;
|
|
white-space: pre-wrap;
|
|
overflow-wrap: anywhere;
|
|
color: var(--text);
|
|
font-family: Arial, "Songti SC", SimSun, sans-serif;
|
|
font-size: 14px;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.summary-supplement-modal .correction-preview code {
|
|
font-size: 13px;
|
|
}
|
|
|
|
.modal-actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 10px;
|
|
margin-top: 16px;
|
|
}
|
|
|
|
.modal-actions button {
|
|
padding: 0 16px;
|
|
}
|
|
|
|
.modal-actions .secondary-button {
|
|
border: 1px solid var(--line);
|
|
background: #fff;
|
|
color: var(--text);
|
|
}
|
|
|
|
@media (max-width: 980px) {
|
|
.layout {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.section-head {
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.quick-actions {
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.table-wrap {
|
|
max-height: none;
|
|
overflow-x: auto;
|
|
overflow-y: visible;
|
|
overscroll-behavior-y: auto;
|
|
}
|
|
|
|
.records-panel .table-wrap,
|
|
#reviewsPanel .table-wrap,
|
|
#summarySearchPanel .table-wrap,
|
|
#logsPanel .table-wrap {
|
|
overflow: visible;
|
|
}
|
|
|
|
.records-panel table,
|
|
#reviewsPanel table,
|
|
#summarySearchPanel table,
|
|
#logsPanel table {
|
|
min-width: 0;
|
|
}
|
|
|
|
.records-panel thead,
|
|
#reviewsPanel thead,
|
|
#summarySearchPanel thead,
|
|
#logsPanel thead {
|
|
display: none;
|
|
}
|
|
|
|
.records-panel tbody,
|
|
.records-panel tr,
|
|
.records-panel td,
|
|
#reviewsPanel tbody,
|
|
#reviewsPanel tr,
|
|
#reviewsPanel td,
|
|
#summarySearchPanel tbody,
|
|
#summarySearchPanel tr,
|
|
#summarySearchPanel td,
|
|
#logsPanel tbody,
|
|
#logsPanel tr,
|
|
#logsPanel td {
|
|
display: block;
|
|
width: 100%;
|
|
}
|
|
|
|
.record-row,
|
|
.admin-data-row,
|
|
.summary-search-result-row,
|
|
.log-row {
|
|
margin: 10px 12px;
|
|
overflow: hidden;
|
|
border: 1px solid var(--line);
|
|
border-radius: 8px;
|
|
background: #fff;
|
|
}
|
|
|
|
.record-row td,
|
|
.admin-data-row td,
|
|
.summary-search-result-row td,
|
|
.log-row td {
|
|
display: grid;
|
|
grid-template-columns: 82px minmax(0, 1fr);
|
|
gap: 10px;
|
|
padding: 9px 12px;
|
|
border-bottom: 1px solid #eef2f6;
|
|
white-space: normal;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.record-row td::before,
|
|
.admin-data-row td::before,
|
|
.summary-search-result-row td::before,
|
|
.log-row td::before {
|
|
content: attr(data-label);
|
|
color: var(--muted);
|
|
font-size: 12px;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.record-row td:last-child,
|
|
.admin-data-row td:last-child,
|
|
.summary-search-result-row td:last-child,
|
|
.log-row td:last-child {
|
|
border-bottom: 0;
|
|
}
|
|
|
|
.record-row .num {
|
|
text-align: left;
|
|
}
|
|
|
|
.record-row .record-action-cell,
|
|
.admin-data-row .record-action-cell,
|
|
.log-row .record-action-cell {
|
|
grid-template-columns: 82px minmax(0, 1fr);
|
|
}
|
|
|
|
.record-actions {
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.teacher-group,
|
|
.summary-collapse-row,
|
|
.summary-search-detail-row,
|
|
.log-detail-row {
|
|
display: block;
|
|
margin: 10px 12px;
|
|
}
|
|
|
|
.teacher-group td,
|
|
.summary-collapse-row td,
|
|
.summary-search-detail-row td,
|
|
.log-detail-row td {
|
|
display: block;
|
|
width: 100%;
|
|
}
|
|
|
|
.teacher-group {
|
|
margin-top: 14px;
|
|
}
|
|
|
|
.teacher-group td {
|
|
border: 1px solid #b7d8d4;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.summary-collapse-row td,
|
|
.summary-search-detail-row td,
|
|
.log-detail-row td {
|
|
border: 1px solid var(--line);
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.inline-account-grid {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.register-grid {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.dashboard-grid.four,
|
|
.dashboard-grid.three {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.admin-tabs {
|
|
padding-bottom: 6px;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 640px) {
|
|
.topbar {
|
|
align-items: flex-start;
|
|
flex-wrap: wrap;
|
|
padding: 12px 14px;
|
|
}
|
|
|
|
.topbar > div:first-child {
|
|
flex: 1 1 100%;
|
|
}
|
|
|
|
h1 {
|
|
font-size: 19px;
|
|
}
|
|
|
|
.layout {
|
|
padding: 10px 12px 18px;
|
|
}
|
|
|
|
.section-head {
|
|
align-items: flex-start;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.quick-actions {
|
|
width: 100%;
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.quick-actions select,
|
|
.quick-actions .chip {
|
|
flex: 1 1 auto;
|
|
}
|
|
|
|
.top-actions {
|
|
width: 100%;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.top-actions .nav-button {
|
|
min-width: 0;
|
|
flex: 1 1 0;
|
|
}
|
|
|
|
.search-row,
|
|
.search-row.compact,
|
|
.account-search-row,
|
|
.summary-search-row {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.search-row,
|
|
.section-head,
|
|
.summary-grid,
|
|
.dashboard-content,
|
|
.inline-account,
|
|
.admin-form,
|
|
.correction-toolbar,
|
|
.drawer-head,
|
|
.drawer-content,
|
|
.drawer-actions,
|
|
.correction-form {
|
|
padding-left: 12px;
|
|
padding-right: 12px;
|
|
}
|
|
|
|
.summary-grid {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.dashboard-section-head {
|
|
align-items: flex-start;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.dashboard-actions {
|
|
width: 100%;
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.dashboard-grid.two,
|
|
.dashboard-grid.three,
|
|
.dashboard-grid.four {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.dashboard-mini-metrics {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.correction-toolbar {
|
|
align-items: flex-start;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.toolbar-actions {
|
|
width: 100%;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.correction-toolbar button {
|
|
width: 100%;
|
|
}
|
|
|
|
.correction-fields {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.register-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.admin-tabs {
|
|
overflow-x: auto;
|
|
gap: 6px;
|
|
margin: 0 -12px;
|
|
padding: 0 12px 8px;
|
|
scroll-padding: 12px;
|
|
}
|
|
|
|
.admin-tabs::after {
|
|
content: "";
|
|
flex: 0 0 18px;
|
|
align-self: stretch;
|
|
}
|
|
|
|
.admin-tab {
|
|
min-height: 36px;
|
|
padding: 0 12px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.form-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.span-2 {
|
|
grid-column: auto;
|
|
}
|
|
|
|
.modal-actions {
|
|
flex-direction: column-reverse;
|
|
}
|
|
|
|
.modal-actions button {
|
|
width: 100%;
|
|
}
|
|
|
|
.drawer-backdrop {
|
|
align-items: stretch;
|
|
padding: 0;
|
|
}
|
|
|
|
.summary-review-drawer {
|
|
width: 100%;
|
|
max-width: 100%;
|
|
}
|
|
|
|
.drawer-head,
|
|
.drawer-actions {
|
|
align-items: stretch;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.drawer-actions button {
|
|
width: 100%;
|
|
}
|
|
|
|
.inline-account-head {
|
|
align-items: flex-start;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.inline-account-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.inline-account-head {
|
|
align-items: flex-start;
|
|
flex-direction: column;
|
|
}
|
|
|
|
th,
|
|
td {
|
|
padding: 8px 9px;
|
|
}
|
|
|
|
th {
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.summary-time-input {
|
|
width: 100%;
|
|
max-width: 160px;
|
|
}
|
|
|
|
.modal-backdrop {
|
|
padding: 0;
|
|
place-items: stretch;
|
|
}
|
|
|
|
.correction-modal {
|
|
width: 100%;
|
|
max-height: 100vh;
|
|
border-radius: 0;
|
|
border-left: 0;
|
|
border-right: 0;
|
|
}
|
|
|
|
.modal-head {
|
|
align-items: flex-start;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.modal-close,
|
|
.secondary-button,
|
|
.correction-toolbar button,
|
|
.drawer-actions button,
|
|
.modal-actions button {
|
|
width: 100%;
|
|
}
|
|
|
|
.teacher-group-title {
|
|
align-items: flex-start;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
|
|
.teacher-group-toggle {
|
|
align-items: flex-start;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
|
|
.teacher-group-title span {
|
|
white-space: normal;
|
|
}
|
|
|
|
.teacher-group-toggle span {
|
|
white-space: normal;
|
|
}
|
|
|
|
.pager {
|
|
align-items: stretch;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.pager-actions {
|
|
width: 100%;
|
|
}
|
|
|
|
.pager-actions .secondary-button {
|
|
flex: 1 1 0;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 420px) {
|
|
body {
|
|
font-size: 14px;
|
|
}
|
|
|
|
h1 {
|
|
font-size: 18px;
|
|
}
|
|
|
|
h2 {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.summary-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.dashboard-mini-metrics {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.dashboard-list-row {
|
|
grid-template-columns: 1fr;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.dashboard-list-value {
|
|
white-space: normal;
|
|
}
|
|
|
|
.dashboard-bar-row {
|
|
grid-template-columns: 1fr;
|
|
gap: 5px;
|
|
}
|
|
|
|
.dashboard-bar-value {
|
|
text-align: left;
|
|
white-space: normal;
|
|
}
|
|
|
|
.metric strong {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.correction-preview code,
|
|
.drawer-text,
|
|
.drawer-body,
|
|
.summary-body,
|
|
.log-detail {
|
|
font-size: 13px;
|
|
}
|
|
|
|
.admin-tabs {
|
|
gap: 4px;
|
|
}
|
|
|
|
.admin-tab {
|
|
padding: 0 10px;
|
|
}
|
|
|
|
.summary-missing {
|
|
gap: 8px;
|
|
padding: 12px 14px;
|
|
grid-template-columns: repeat(2, 8em);
|
|
}
|
|
|
|
.log-detail-panel {
|
|
padding: 12px 14px 14px;
|
|
}
|
|
|
|
.summary-search-detail-panel {
|
|
padding: 12px 14px 14px;
|
|
}
|
|
|
|
.summary-search-actions,
|
|
.summary-search-actions .summary-time-actions {
|
|
justify-content: flex-start;
|
|
}
|
|
|
|
.summary-identity-grid {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.summary-search-actions .secondary-button,
|
|
.summary-search-actions .summary-time-input {
|
|
width: 100%;
|
|
}
|
|
|
|
.summary-binding-candidate {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.summary-binding-candidate .secondary-button {
|
|
width: 100%;
|
|
}
|
|
|
|
.log-detail-grid {
|
|
grid-template-columns: 1fr;
|
|
gap: 10px;
|
|
}
|
|
}
|