389 lines
5.5 KiB
CSS
389 lines
5.5 KiB
CSS
* {
|
|
box-sizing: border-box;
|
|
margin: 0;
|
|
padding: 0;
|
|
font-family: "Baloo 2", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
html,
|
|
body {
|
|
width: 100%;
|
|
min-height: 100%;
|
|
background: #f4fbf6;
|
|
color: #1f2937;
|
|
-webkit-font-smoothing: antialiased;
|
|
-webkit-text-size-adjust: 100%;
|
|
-webkit-tap-highlight-color: transparent;
|
|
}
|
|
|
|
button,
|
|
input,
|
|
textarea {
|
|
font: inherit;
|
|
}
|
|
|
|
button {
|
|
border: 0;
|
|
background: transparent;
|
|
color: inherit;
|
|
}
|
|
|
|
.page {
|
|
min-height: 100vh;
|
|
background: #f4fbf6;
|
|
}
|
|
|
|
.header {
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 20;
|
|
display: grid;
|
|
grid-template-columns: 44px 1fr 58px;
|
|
align-items: center;
|
|
min-height: calc(48px + env(safe-area-inset-top));
|
|
padding: env(safe-area-inset-top) 10px 0;
|
|
background: #fff;
|
|
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.header h1 {
|
|
min-width: 0;
|
|
text-align: center;
|
|
font-size: 1.35em;
|
|
font-weight: 700;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.icon-btn,
|
|
.lang-btn {
|
|
min-width: 36px;
|
|
height: 36px;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.icon-btn {
|
|
padding: 0;
|
|
}
|
|
|
|
.icon-btn img {
|
|
width: 24px;
|
|
height: 24px;
|
|
}
|
|
|
|
.lang-btn {
|
|
justify-self: end;
|
|
padding: 0 10px;
|
|
border-radius: 999px;
|
|
background: #e9f7ee;
|
|
color: #276344;
|
|
font-size: 0.86em;
|
|
}
|
|
|
|
.content {
|
|
position: relative;
|
|
z-index: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
padding: 16px;
|
|
}
|
|
|
|
.card {
|
|
border: 1px solid #d7eadf;
|
|
border-radius: 16px;
|
|
background: #fff;
|
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.card-pad {
|
|
padding: 16px;
|
|
}
|
|
|
|
.section-title {
|
|
font-size: 1.35em;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.subtle {
|
|
color: rgba(0, 0, 0, 0.45);
|
|
font-weight: 600;
|
|
}
|
|
|
|
.row {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
gap: 10px;
|
|
}
|
|
|
|
.divider {
|
|
border-bottom: 1px solid #e6e6e6;
|
|
}
|
|
|
|
.member-card {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
padding: 12px;
|
|
border-radius: 12px;
|
|
background: #fff8df;
|
|
}
|
|
|
|
.member-card + .member-card {
|
|
margin-top: 10px;
|
|
}
|
|
|
|
.avatar {
|
|
width: 3.5em;
|
|
height: 3.5em;
|
|
flex: 0 0 auto;
|
|
border-radius: 50%;
|
|
object-fit: cover;
|
|
background: #e7efe9;
|
|
}
|
|
|
|
.member-main {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
.member-name {
|
|
font-weight: 700;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.member-meta,
|
|
.member-side {
|
|
color: rgba(0, 0, 0, 0.48);
|
|
font-size: 0.86em;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.member-side {
|
|
flex: 0 0 auto;
|
|
text-align: right;
|
|
color: #1f2937;
|
|
}
|
|
|
|
.menu-link {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
width: 100%;
|
|
padding: 14px 0;
|
|
text-align: left;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.arrow {
|
|
width: 22px;
|
|
height: 22px;
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.field {
|
|
width: 100%;
|
|
border: 0;
|
|
outline: 0;
|
|
background: transparent;
|
|
color: #1f2937;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.input-box {
|
|
padding: 10px 12px;
|
|
border: 1px solid #d7eadf;
|
|
border-radius: 8px;
|
|
background: #fff;
|
|
}
|
|
|
|
.primary-btn,
|
|
.danger-btn,
|
|
.soft-btn {
|
|
min-height: 40px;
|
|
border-radius: 999px;
|
|
padding: 8px 16px;
|
|
color: #fff;
|
|
font-weight: 700;
|
|
text-align: center;
|
|
}
|
|
|
|
.primary-btn {
|
|
background: #32a96b;
|
|
}
|
|
|
|
.danger-btn {
|
|
background: #ef4444;
|
|
}
|
|
|
|
.soft-btn {
|
|
background: #9ca3af;
|
|
}
|
|
|
|
.primary-btn:disabled,
|
|
.soft-btn:disabled {
|
|
background: #cfd8d2;
|
|
}
|
|
|
|
.badge {
|
|
display: inline-flex;
|
|
padding: 3px 8px;
|
|
border-radius: 999px;
|
|
color: #fff;
|
|
background: #3d73ff;
|
|
font-size: 0.8em;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.badge.pass,
|
|
.badge.success {
|
|
background: #36b56b;
|
|
}
|
|
|
|
.badge.fail,
|
|
.badge.pending {
|
|
background: #ef4444;
|
|
}
|
|
|
|
.badge.wait {
|
|
background: #d59a20;
|
|
}
|
|
|
|
.mask {
|
|
position: fixed;
|
|
inset: 0;
|
|
z-index: 50;
|
|
background: rgba(0, 0, 0, 0.35);
|
|
}
|
|
|
|
.sheet {
|
|
position: fixed;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
z-index: 51;
|
|
max-height: 82vh;
|
|
overflow: auto;
|
|
padding: 16px;
|
|
border-radius: 16px 16px 0 0;
|
|
background: #fffbe3;
|
|
}
|
|
|
|
.sheet-title {
|
|
margin-bottom: 10px;
|
|
color: #333;
|
|
font-size: 1.15em;
|
|
font-weight: 700;
|
|
text-align: center;
|
|
}
|
|
|
|
.salary-item {
|
|
position: relative;
|
|
margin-top: 8px;
|
|
padding: 32px 10px 30px;
|
|
border-radius: 8px;
|
|
background: #ebf1fd;
|
|
font-size: 0.9em;
|
|
}
|
|
|
|
.salary-item.pending {
|
|
background: #feebef;
|
|
}
|
|
|
|
.salary-item.completed {
|
|
background: #e8faed;
|
|
}
|
|
|
|
.salary-item.out {
|
|
background: #e9e9e9;
|
|
}
|
|
|
|
.status-tag {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
min-width: 7.5em;
|
|
padding: 2px 8px;
|
|
border-radius: 8px 0 8px 0;
|
|
background: #3d73ff;
|
|
color: #fff;
|
|
font-weight: 700;
|
|
text-align: center;
|
|
}
|
|
|
|
.salary-item.pending .status-tag {
|
|
background: #ff3d40;
|
|
}
|
|
|
|
.salary-item.completed .status-tag {
|
|
background: #32b968;
|
|
}
|
|
|
|
.salary-item.out .status-tag {
|
|
background: #9ca3af;
|
|
}
|
|
|
|
.more-btn {
|
|
position: absolute;
|
|
right: 10px;
|
|
bottom: 7px;
|
|
color: #4f46e5;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.toast {
|
|
position: fixed;
|
|
left: 50%;
|
|
bottom: calc(28px + env(safe-area-inset-bottom));
|
|
z-index: 80;
|
|
max-width: 86vw;
|
|
transform: translateX(-50%);
|
|
padding: 10px 14px;
|
|
border-radius: 8px;
|
|
color: #fff;
|
|
background: rgba(0, 0, 0, 0.75);
|
|
font-size: 13px;
|
|
font-weight: 500;
|
|
text-align: center;
|
|
}
|
|
|
|
[hidden] {
|
|
display: none !important;
|
|
}
|
|
|
|
[dir="rtl"] .arrow,
|
|
[dir="rtl"] .flip-img {
|
|
transform: scaleX(-1);
|
|
}
|
|
|
|
[dir="rtl"] .member-side {
|
|
text-align: left;
|
|
}
|
|
|
|
@media screen and (max-width: 360px) {
|
|
.page {
|
|
font-size: 10px;
|
|
}
|
|
}
|
|
|
|
@media screen and (min-width: 360px) {
|
|
.page {
|
|
font-size: 12px;
|
|
}
|
|
}
|
|
|
|
@media screen and (min-width: 768px) {
|
|
.page {
|
|
font-size: 24px;
|
|
}
|
|
}
|