581 lines
10 KiB
CSS
581 lines
10 KiB
CSS
.role-pill {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
min-height: 24px;
|
|
padding: 0 10px;
|
|
border-radius: 999px;
|
|
background: var(--hy-theme-primary-soft, #f4ebff);
|
|
color: var(--primary-deep);
|
|
font-size: 12px;
|
|
font-weight: 900;
|
|
}
|
|
|
|
.bd-center .name {
|
|
margin-top: 7px;
|
|
}
|
|
|
|
.salary-card,
|
|
.team-stats-card,
|
|
.team-users-card {
|
|
padding: 16px;
|
|
}
|
|
|
|
.salary-head,
|
|
.team-list-head {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
}
|
|
|
|
.salary-head h2,
|
|
.team-list-head h2 {
|
|
margin: 0;
|
|
color: var(--text);
|
|
font-size: 18px;
|
|
font-weight: 950;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.salary-value {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
margin-top: 18px;
|
|
color: #23272d;
|
|
font-size: 34px;
|
|
font-weight: 950;
|
|
line-height: 1;
|
|
}
|
|
|
|
.coin-icon {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 28px;
|
|
height: 28px;
|
|
flex: 0 0 28px;
|
|
border-radius: 50%;
|
|
background: linear-gradient(145deg, #ffe179 0%, #ffb62d 52%, #f49b20 100%);
|
|
color: #fff;
|
|
font-size: 19px;
|
|
font-weight: 950;
|
|
box-shadow:
|
|
inset 0 1px 2px rgba(255, 255, 255, 0.7),
|
|
0 1px 2px rgba(195, 117, 12, 0.24);
|
|
}
|
|
|
|
.salary-value strong {
|
|
min-width: 0;
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
.bd-center .salary-value strong.skeleton-line {
|
|
width: 180px;
|
|
height: 42px;
|
|
border-radius: 10px;
|
|
}
|
|
|
|
.team-stats-card,
|
|
.team-users-card {
|
|
display: grid;
|
|
gap: 12px;
|
|
}
|
|
|
|
.team-list-period {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
align-items: center;
|
|
gap: 10px;
|
|
}
|
|
|
|
.month-filter {
|
|
display: grid;
|
|
min-width: 0;
|
|
gap: 6px;
|
|
}
|
|
|
|
.month-filter span {
|
|
color: var(--muted);
|
|
font-size: 12px;
|
|
font-weight: 850;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.month-trigger {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) 22px;
|
|
align-items: center;
|
|
gap: 10px;
|
|
width: 100%;
|
|
min-width: 0;
|
|
height: 38px;
|
|
padding: 0 10px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 8px;
|
|
background: #fbfcfc;
|
|
color: var(--text);
|
|
font-size: 13px;
|
|
font-weight: 900;
|
|
text-align: left;
|
|
}
|
|
|
|
.month-trigger span {
|
|
min-width: 0;
|
|
overflow: hidden;
|
|
color: var(--text);
|
|
font-size: 13px;
|
|
font-weight: 900;
|
|
line-height: 1.2;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.month-trigger svg {
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
|
|
.month-trigger path {
|
|
fill: none;
|
|
stroke: var(--text);
|
|
stroke-linecap: round;
|
|
stroke-linejoin: round;
|
|
stroke-width: 1.8;
|
|
}
|
|
|
|
.bill-range {
|
|
color: var(--muted);
|
|
font-size: 12px;
|
|
font-weight: 850;
|
|
line-height: 1.25;
|
|
text-align: right;
|
|
}
|
|
|
|
.team-list-summary {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
gap: 8px;
|
|
}
|
|
|
|
.team-list-summary > div {
|
|
min-width: 0;
|
|
padding: 10px;
|
|
border-radius: 8px;
|
|
background: var(--hy-theme-primary-soft, #f4ebff);
|
|
}
|
|
|
|
.team-list-summary span {
|
|
display: block;
|
|
overflow: hidden;
|
|
color: var(--muted);
|
|
font-size: 11px;
|
|
font-weight: 850;
|
|
line-height: 1.2;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.team-list-summary strong {
|
|
display: block;
|
|
margin-top: 5px;
|
|
overflow-wrap: anywhere;
|
|
color: var(--text);
|
|
font-size: 15px;
|
|
font-weight: 950;
|
|
line-height: 1.15;
|
|
}
|
|
|
|
.team-list-summary span.skeleton-line {
|
|
width: 96px;
|
|
height: 13px;
|
|
border-radius: 7px;
|
|
}
|
|
|
|
.team-list-summary strong.skeleton-line {
|
|
width: 112px;
|
|
height: 19px;
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.team-list-content {
|
|
display: grid;
|
|
gap: 10px;
|
|
max-height: 360px;
|
|
overflow-y: auto;
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
.member-row,
|
|
.invite-user-card {
|
|
display: grid;
|
|
grid-template-columns: 44px minmax(0, 1fr) auto;
|
|
gap: 10px;
|
|
align-items: center;
|
|
padding: 12px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 8px;
|
|
background: #fbfcfc;
|
|
}
|
|
|
|
.member-avatar,
|
|
.invite-user-avatar {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 44px;
|
|
height: 44px;
|
|
overflow: hidden;
|
|
border-radius: 50%;
|
|
background: var(--primary);
|
|
}
|
|
|
|
.member-avatar img,
|
|
.invite-user-avatar img {
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.member-fallback,
|
|
.invite-avatar-fallback {
|
|
color: var(--primary-deep);
|
|
font-size: 18px;
|
|
font-weight: 950;
|
|
}
|
|
|
|
.member-main,
|
|
.invite-user-main {
|
|
min-width: 0;
|
|
}
|
|
|
|
.member-name,
|
|
.invite-user-name {
|
|
overflow: hidden;
|
|
color: var(--text);
|
|
font-size: 15px;
|
|
font-weight: 900;
|
|
line-height: 1.2;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.member-meta,
|
|
.invite-user-meta {
|
|
margin-top: 4px;
|
|
overflow: hidden;
|
|
color: var(--muted);
|
|
font-size: 12px;
|
|
font-weight: 800;
|
|
line-height: 1.2;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.member-side {
|
|
display: grid;
|
|
gap: 3px;
|
|
color: #555b64;
|
|
font-size: 12px;
|
|
font-weight: 850;
|
|
line-height: 1.2;
|
|
text-align: right;
|
|
}
|
|
|
|
.member-row.is-skeleton {
|
|
pointer-events: none;
|
|
}
|
|
|
|
.member-row.is-skeleton .member-avatar {
|
|
background: transparent;
|
|
}
|
|
|
|
.member-row.is-skeleton .member-name.skeleton-line {
|
|
width: min(132px, 100%);
|
|
height: 18px;
|
|
border-radius: 7px;
|
|
}
|
|
|
|
.member-row.is-skeleton .member-meta.skeleton-line {
|
|
width: 92px;
|
|
height: 14px;
|
|
border-radius: 7px;
|
|
}
|
|
|
|
.member-row.is-skeleton .member-side .skeleton-line {
|
|
width: 122px;
|
|
max-width: 28vw;
|
|
height: 13px;
|
|
border-radius: 6px;
|
|
}
|
|
|
|
.empty-state,
|
|
.invite-empty {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
min-height: 80px;
|
|
border: 1px dashed var(--line);
|
|
border-radius: 8px;
|
|
color: var(--muted);
|
|
font-size: 14px;
|
|
font-weight: 850;
|
|
text-align: center;
|
|
}
|
|
|
|
.invite-dialog {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
width: min(394px, 100%);
|
|
max-height: 80vh;
|
|
max-height: 80dvh;
|
|
overflow: hidden;
|
|
border-radius: 14px;
|
|
background: #fff;
|
|
box-shadow: 0 18px 44px rgba(23, 31, 42, 0.2);
|
|
}
|
|
|
|
.month-sheet {
|
|
max-height: 62vh;
|
|
max-height: 62dvh;
|
|
}
|
|
|
|
.month-option-list {
|
|
display: grid;
|
|
gap: 8px;
|
|
min-height: 0;
|
|
overflow-y: auto;
|
|
padding: 12px 18px max(18px, env(safe-area-inset-bottom));
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
.month-option {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
min-height: 44px;
|
|
padding: 0 14px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 8px;
|
|
background: #fbfcfc;
|
|
color: var(--text);
|
|
font-size: 15px;
|
|
font-weight: 900;
|
|
text-align: left;
|
|
}
|
|
|
|
.month-option.is-selected {
|
|
border-color: transparent;
|
|
background: var(--button);
|
|
color: #fff;
|
|
box-shadow: var(
|
|
--hy-theme-button-shadow,
|
|
0 8px 18px rgba(125, 87, 199, 0.18)
|
|
);
|
|
}
|
|
|
|
.invite-head {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 12px;
|
|
min-height: 58px;
|
|
padding: 16px 18px 12px;
|
|
border-bottom: 1px solid var(--line);
|
|
}
|
|
|
|
.invite-head h2 {
|
|
min-width: 0;
|
|
margin: 0;
|
|
overflow: hidden;
|
|
color: var(--text);
|
|
font-size: 18px;
|
|
font-weight: 950;
|
|
line-height: 1.2;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.invite-close {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 34px;
|
|
height: 34px;
|
|
border-radius: 50%;
|
|
background: var(--hy-theme-primary-soft, #f4ebff);
|
|
color: var(--primary-deep);
|
|
font-size: 25px;
|
|
font-weight: 500;
|
|
line-height: 1;
|
|
}
|
|
|
|
.invite-body {
|
|
display: flex;
|
|
min-height: 0;
|
|
flex: 1 1 auto;
|
|
flex-direction: column;
|
|
gap: 12px;
|
|
overflow-y: auto;
|
|
padding: 14px 18px max(18px, env(safe-area-inset-bottom));
|
|
-webkit-overflow-scrolling: touch;
|
|
}
|
|
|
|
.invite-search-form {
|
|
margin: 0;
|
|
}
|
|
|
|
.invite-field {
|
|
display: grid;
|
|
gap: 8px;
|
|
}
|
|
|
|
.invite-field > span {
|
|
color: #555b64;
|
|
font-size: 13px;
|
|
font-weight: 900;
|
|
line-height: 1.2;
|
|
}
|
|
|
|
.invite-search-control {
|
|
display: grid;
|
|
grid-template-columns: minmax(0, 1fr) auto;
|
|
gap: 8px;
|
|
}
|
|
|
|
.invite-search-control input {
|
|
width: 100%;
|
|
min-width: 0;
|
|
height: 42px;
|
|
padding: 0 12px;
|
|
border: 1px solid var(--line);
|
|
border-radius: 8px;
|
|
background: #fbfcfc;
|
|
color: var(--text);
|
|
font-size: 14px;
|
|
font-weight: 800;
|
|
}
|
|
|
|
.invite-search-control button,
|
|
.invite-action,
|
|
.invite-cancel {
|
|
min-height: 34px;
|
|
border-radius: 8px;
|
|
font-size: 12px;
|
|
font-weight: 950;
|
|
}
|
|
|
|
.invite-search-control button {
|
|
min-width: 76px;
|
|
height: 42px;
|
|
padding: 0 12px;
|
|
background: var(--button);
|
|
color: #fff;
|
|
box-shadow: var(
|
|
--hy-theme-button-shadow,
|
|
0 8px 18px rgba(125, 87, 199, 0.18)
|
|
);
|
|
}
|
|
|
|
.invite-search-control button:disabled {
|
|
background: var(--button-disabled);
|
|
box-shadow: var(--hy-theme-button-disabled-shadow, none);
|
|
}
|
|
|
|
.invite-status {
|
|
padding: 10px 12px;
|
|
border-radius: 8px;
|
|
background: var(--hy-theme-primary-soft, #f4ebff);
|
|
color: var(--primary-deep);
|
|
font-size: 12px;
|
|
font-weight: 850;
|
|
line-height: 1.35;
|
|
}
|
|
|
|
.invite-status.is-error {
|
|
background: #fff0f0;
|
|
color: #c43f3f;
|
|
}
|
|
|
|
.invite-status.is-success {
|
|
background: #ebfbf2;
|
|
color: #128946;
|
|
}
|
|
|
|
.invite-list {
|
|
display: grid;
|
|
gap: 10px;
|
|
}
|
|
|
|
.invite-user-side {
|
|
display: grid;
|
|
justify-items: end;
|
|
gap: 6px;
|
|
}
|
|
|
|
.invite-action {
|
|
min-width: 68px;
|
|
padding: 0 12px;
|
|
background: var(--button);
|
|
color: #fff;
|
|
}
|
|
|
|
.invite-cancel {
|
|
min-width: 68px;
|
|
padding: 0 12px;
|
|
border: 1px solid rgba(217, 93, 114, 0.24);
|
|
background: #fff2f2;
|
|
color: var(--danger);
|
|
}
|
|
|
|
.invite-badge {
|
|
min-width: 72px;
|
|
padding: 5px 8px;
|
|
border-radius: 999px;
|
|
font-size: 11px;
|
|
font-weight: 950;
|
|
line-height: 1;
|
|
text-align: center;
|
|
}
|
|
|
|
.invite-badge.pending {
|
|
background: #fff4dc;
|
|
color: #bd7a10;
|
|
}
|
|
|
|
.invite-badge.success {
|
|
background: #e9fbf1;
|
|
color: #15914f;
|
|
}
|
|
|
|
@media (max-width: 360px) {
|
|
.salary-card,
|
|
.team-stats-card,
|
|
.team-users-card {
|
|
padding-right: 18px;
|
|
padding-left: 18px;
|
|
}
|
|
|
|
.salary-value {
|
|
font-size: 29px;
|
|
}
|
|
|
|
.team-list-summary {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.member-row,
|
|
.invite-user-card {
|
|
grid-template-columns: 44px minmax(0, 1fr);
|
|
}
|
|
|
|
.member-side,
|
|
.invite-user-side {
|
|
grid-column: 2;
|
|
justify-items: start;
|
|
text-align: left;
|
|
}
|
|
}
|