This commit is contained in:
@@ -3200,3 +3200,245 @@ textarea:focus,
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
|
||||
}
|
||||
|
||||
/* Customer experience v1 — Conversation Journal, selected product direction. */
|
||||
.customer-layout {
|
||||
--journal-paper: #fbfaf7;
|
||||
--journal-card: #fffefd;
|
||||
--journal-ink: #242526;
|
||||
--journal-muted: #73716d;
|
||||
--journal-line: #e7e2da;
|
||||
--journal-blue: #315d9b;
|
||||
--journal-blue-soft: #edf3fb;
|
||||
--journal-coral: #e66d3d;
|
||||
--journal-green: #6ca658;
|
||||
min-height: 100vh;
|
||||
color: var(--journal-ink);
|
||||
background: var(--journal-paper);
|
||||
}
|
||||
.customer-header {
|
||||
height: 74px !important;
|
||||
padding-inline: 26px !important;
|
||||
border-bottom: 1px solid var(--journal-line) !important;
|
||||
color: var(--journal-ink) !important;
|
||||
background: rgba(255,254,252,.98) !important;
|
||||
}
|
||||
.customer-header__brand,
|
||||
.customer-header__brand > strong,
|
||||
.customer-header .ant-btn { color: var(--journal-ink) !important; }
|
||||
.customer-header__brand > strong { font-size: 22px; letter-spacing: -.03em; }
|
||||
.customer-brand-mark { width: 34px; height: 34px; color: var(--journal-ink) !important; }
|
||||
.customer-header__actions { margin-left: auto; }
|
||||
.customer-search { width: min(34vw, 370px); }
|
||||
.customer-search .ant-input-affix-wrapper,
|
||||
.customer-search .ant-input-group-addon .ant-btn {
|
||||
height: 44px;
|
||||
border: 1px solid var(--journal-line) !important;
|
||||
color: var(--journal-ink) !important;
|
||||
background: #fff !important;
|
||||
}
|
||||
.customer-search input { color: var(--journal-ink) !important; }
|
||||
.customer-search input::placeholder { color: #a5a19b !important; }
|
||||
.customer-header .ant-avatar { color: var(--journal-ink); background: #f3ede4; }
|
||||
.customer-layout__body { padding-top: 74px; background: var(--journal-paper); }
|
||||
.customer-sider {
|
||||
top: 74px;
|
||||
height: calc(100vh - 74px);
|
||||
border-right: 1px solid var(--journal-line);
|
||||
background: #fffefd !important;
|
||||
}
|
||||
.customer-sider__title { height: 56px; padding-inline: 22px; color: var(--journal-muted); }
|
||||
.customer-sider .ant-menu { padding: 8px 12px; }
|
||||
.customer-sider .ant-menu-item,
|
||||
.customer-sider .ant-menu-submenu-title {
|
||||
min-height: 52px;
|
||||
margin-block: 3px;
|
||||
border-radius: 8px;
|
||||
color: #494a49;
|
||||
font-size: 15px;
|
||||
}
|
||||
.customer-sider .ant-menu-item-selected,
|
||||
.customer-sider .ant-menu-submenu-selected > .ant-menu-submenu-title {
|
||||
color: var(--journal-blue) !important;
|
||||
background: var(--journal-blue-soft) !important;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
.customer-sider__help { margin: auto 16px 20px; border-radius: 10px; background: #faf7f2; }
|
||||
.customer-content { background: var(--journal-paper) !important; }
|
||||
.customer-page.customer-page { width: min(1500px,100%) !important; padding: 0 28px 64px !important; }
|
||||
.customer-page.customer-page--home { padding-inline: 28px !important; }
|
||||
.customer-page > .ant-breadcrumb,
|
||||
.customer-page > .customer-page__header { display: none; }
|
||||
.customer-page.customer-page > .workspace {
|
||||
padding: 0 !important;
|
||||
border: 0 !important;
|
||||
border-radius: 0 !important;
|
||||
background: transparent !important;
|
||||
}
|
||||
.workspace__header { margin: 0 0 20px; padding: 18px 0 20px; border-bottom-color: var(--journal-line); }
|
||||
.workspace__header h2 { font-size: 28px; }
|
||||
.workspace__header > div:first-child > p:last-child { color: var(--journal-muted); }
|
||||
.workspace--home > .workspace__header { display: none; }
|
||||
.household-tabs {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
overflow-x: auto;
|
||||
padding: 0 0 5px;
|
||||
border-bottom: 1px solid var(--journal-line);
|
||||
scrollbar-width: thin;
|
||||
}
|
||||
.household-tabs button {
|
||||
min-width: 76px;
|
||||
min-height: 34px !important;
|
||||
padding: 0 18px !important;
|
||||
border: 1px solid var(--journal-line) !important;
|
||||
border-radius: 8px !important;
|
||||
color: #4b4946 !important;
|
||||
background: #fffefd !important;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.household-tabs button.active { color: var(--journal-ink) !important; background: #f6ecdf !important; border-color: #e8d8c5 !important; font-weight: 650; }
|
||||
.household-tabs .household-tabs__add { min-width: 38px; width: 38px; padding: 0 !important; }
|
||||
.conversation-journal { display: grid; gap: 7px; }
|
||||
.elder-switcher {
|
||||
display: flex;
|
||||
gap: clamp(18px,4vw,64px);
|
||||
min-height: 85px;
|
||||
overflow-x: auto;
|
||||
padding: 0 26px;
|
||||
align-items: center;
|
||||
}
|
||||
.elder-switcher > button {
|
||||
display: grid;
|
||||
justify-items: center;
|
||||
gap: 2px;
|
||||
min-width: 96px;
|
||||
min-height: 85px !important;
|
||||
padding: 2px 8px !important;
|
||||
border: 0 !important;
|
||||
border-radius: 12px !important;
|
||||
color: var(--journal-ink) !important;
|
||||
background: transparent !important;
|
||||
}
|
||||
.elder-switcher img {
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
border: 4px solid transparent;
|
||||
border-radius: 50%;
|
||||
object-fit: cover;
|
||||
box-shadow: 0 0 0 1px #d9d4cc;
|
||||
}
|
||||
.elder-switcher button.active img { border-color: #fff; box-shadow: 0 0 0 2px var(--journal-blue), 0 4px 14px rgba(49,93,155,.16); }
|
||||
.elder-switcher strong { font-size: 13px; }
|
||||
.elder-switcher small { color: var(--journal-muted); font-size: 11px; }
|
||||
.journal-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(320px,1fr); gap: 16px; }
|
||||
.journal-grid { margin-bottom: 9px; }
|
||||
.journal-lower-grid { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); gap: 16px; }
|
||||
.journal-grid,.journal-lower-grid,.journal-card { min-width: 0; }
|
||||
.journal-card {
|
||||
border: 1px solid var(--journal-line);
|
||||
border-radius: 12px;
|
||||
background: var(--journal-card);
|
||||
box-shadow: 0 2px 8px rgba(75,67,57,.025);
|
||||
}
|
||||
.journal-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 24px 26px 10px; }
|
||||
.journal-card h3 { margin: 0; color: var(--journal-ink); font-size: 22px; line-height: 1.2; }
|
||||
.journal-card header p { margin: 7px 0 0; color: var(--journal-muted); }
|
||||
.elder-presence { padding: 5px 9px; border-radius: 999px; color: #8c6354; background: #f7eee8; font-size: 11px; }
|
||||
.elder-presence.is-online { color: #437d43; background: #edf6e9; }
|
||||
.journal-weekly__chart { display: grid; grid-template-columns: repeat(7,minmax(58px,1fr)); gap: 8px; min-height: 260px; padding: 0 18px 14px; align-items: end; }
|
||||
.journal-weekly__chart article { display: grid; justify-items: center; align-content: end; gap: 7px; min-width: 0; min-height: 245px; padding: 10px 4px 8px; border-radius: 10px; }
|
||||
.journal-weekly__chart article.is-today { background: var(--journal-blue-soft); }
|
||||
.journal-weekly__chart article > div { display: grid; text-align: center; }
|
||||
.journal-weekly__chart time { color: #4f4e4b; font-size: 12px; }
|
||||
.journal-weekly__chart small { color: var(--journal-muted); font-size: 10px; }
|
||||
.journal-weekly__chart strong { color: #77736e; font-size: 11px; font-weight: 500; }
|
||||
.journal-duration { width: 20px; min-height: 3px; border-radius: 4px 4px 2px 2px; background: #5e86c1; }
|
||||
.is-today .journal-duration { background: var(--journal-blue); }
|
||||
.journal-mood { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #aaa6a0; background: #eeeae4; }
|
||||
.journal-mood--positive { color: #5e9a4d; background: #ecf6e7; }
|
||||
.journal-mood--attention { color: var(--journal-coral); background: #fff0e8; }
|
||||
.journal-weekly > footer { display: flex; justify-content: space-between; gap: 12px; padding: 12px 26px 18px; border-top: 1px solid var(--journal-line); color: var(--journal-muted); font-size: 11px; }
|
||||
.journal-weekly > footer span { display: flex; align-items: center; gap: 7px; }
|
||||
.journal-legend-duration { width: 12px; height: 12px; border-radius: 3px; background: #5e86c1; }
|
||||
.latest-chat { padding-bottom: 18px; }
|
||||
.latest-chat__topics { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 24px 10px; }
|
||||
.latest-chat__topics span { padding: 5px 10px; border-radius: 7px; color: #4e5865; background: #eff2f6; font-size: 12px; }
|
||||
.latest-chat blockquote { margin: 4px 24px 16px; padding: 16px; border: 1px solid var(--journal-line); border-radius: 10px; color: #4f4d49; font-size: 14px; line-height: 1.7; }
|
||||
.latest-chat__mood { display: flex; gap: 12px; margin: 0 24px 16px; padding: 15px 0; border-top: 1px dashed var(--journal-line); }
|
||||
.latest-chat__mood > .anticon { margin-top: 2px; color: var(--journal-coral); font-size: 22px; }
|
||||
.latest-chat__mood div { display: grid; gap: 4px; }
|
||||
.latest-chat__mood strong { font-size: 14px; }
|
||||
.latest-chat__mood small { color: var(--journal-muted); line-height: 1.6; }
|
||||
.latest-chat > button { width: calc(100% - 48px); margin: 0 24px; border-radius: 8px !important; background: var(--journal-blue) !important; }
|
||||
.journal-empty { display: grid; place-items: center; gap: 12px; padding: 48px 24px 28px; color: var(--journal-muted); text-align: center; }
|
||||
.journal-empty > .anticon { font-size: 32px; }
|
||||
.family-attention > header { justify-content: flex-start; color: var(--journal-coral); }
|
||||
.family-attention > button { display: grid; gap: 7px; width: calc(100% - 46px); margin: 8px 23px 24px; padding: 18px !important; border: 1px solid #f0d9c9 !important; border-radius: 10px !important; color: #694833 !important; background: #fff7ef !important; text-align: left; }
|
||||
.family-attention > button span { color: #8b6d5a; font-size: 12px; line-height: 1.6; }
|
||||
.family-attention__calm { display: flex; align-items: center; gap: 12px; margin: 8px 23px 24px; padding: 18px; border-radius: 10px; color: #52704c; background: #f1f7ee; line-height: 1.6; }
|
||||
.recent-activity > div { display: grid; padding: 0 22px; }
|
||||
.recent-activity > div > button { display: grid; grid-template-columns: 28px 78px minmax(150px,1fr) minmax(90px,.7fr); align-items: center; gap: 10px; min-height: 58px !important; padding: 8px 4px !important; border: 0 !important; border-bottom: 1px solid var(--journal-line) !important; border-radius: 0 !important; color: var(--journal-ink) !important; background: transparent !important; text-align: left; }
|
||||
.recent-activity > div > button > .anticon { color: var(--journal-blue); font-size: 18px; }
|
||||
.recent-activity time,.recent-activity span { overflow: hidden; color: var(--journal-muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
|
||||
.recent-activity > footer { display: flex; justify-content: center; padding: 8px 20px 14px; }
|
||||
.recent-activity > footer button { min-height: 32px !important; color: var(--journal-blue) !important; background: transparent !important; }
|
||||
|
||||
.customer-layout button:not(.ant-btn) { border-radius: 8px !important; }
|
||||
.customer-layout button:disabled,
|
||||
.customer-layout [role="button"][aria-disabled="true"] { cursor: wait !important; opacity: .5; transform: none !important; }
|
||||
.subject-avatar-upload { position: relative; display: grid; grid-row: span 2; place-items: center; align-content: center; gap: 7px; min-height: 132px; overflow: hidden; border: 1px dashed #c9c0b5; border-radius: 12px; color: var(--journal-blue); background: #fbf8f3; cursor: pointer; }
|
||||
.subject-avatar-upload input,.subject-avatar-editor input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
|
||||
.subject-avatar-upload > .anticon { font-size: 27px; }
|
||||
.subject-avatar-upload img { width: 108px; height: 108px; border-radius: 50%; object-fit: cover; }
|
||||
.subject-avatar-upload small { color: var(--journal-muted); }
|
||||
.subject-avatar-error { grid-column: 1 / -1; margin: 0; color: #a94132; font-size: 12px; }
|
||||
.subject-profile-card__avatar { overflow: hidden; }
|
||||
.subject-profile-card__avatar img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
|
||||
.subject-avatar-editor { position: relative; display: flex; align-items: center; gap: 18px; width: max-content; cursor: pointer; }
|
||||
.subject-avatar-editor img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; }
|
||||
.subject-avatar-editor > span { color: var(--journal-blue); }
|
||||
.conversation-row { grid-template-columns: 34px minmax(0,1fr) auto !important; }
|
||||
.conversation-row__mood { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #9e9a94; background: #efede9; }
|
||||
.conversation-row__mood--positive { color: #5e984e; background: #edf6e9; }
|
||||
.conversation-row__mood--attention { color: var(--journal-coral); background: #fff0e8; }
|
||||
.conversation-row > div { min-width: 0; }
|
||||
.conversation-row > div > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
||||
.conversation-row > div > small { color: var(--journal-blue); }
|
||||
.permission-matrix-card { margin-top: 18px; }
|
||||
.permission-matrix-note { margin: 0 0 16px; color: var(--journal-muted); line-height: 1.65; }
|
||||
.permission-matrix-wrap { overflow-x: auto; }
|
||||
.permission-matrix { width: 100%; min-width: 700px; border-collapse: collapse; }
|
||||
.permission-matrix th,.permission-matrix td { padding: 12px 14px; border-bottom: 1px solid var(--journal-line); text-align: center; }
|
||||
.permission-matrix thead th { color: var(--journal-muted); background: #faf7f2; font-size: 12px; }
|
||||
.permission-matrix tbody th { display: grid; gap: 2px; text-align: left; }
|
||||
.permission-matrix tbody th strong { font-size: 13px; }
|
||||
.permission-matrix tbody th small { color: #9a9690; font-size: 10px; font-weight: 400; }
|
||||
.permission-matrix td { color: #c8c3bc; }
|
||||
.permission-matrix td.is-enabled { color: var(--journal-blue); }
|
||||
.customer-profile { display: grid; gap: 18px; padding-top: 14px; }
|
||||
|
||||
@media (max-width: 1050px) {
|
||||
.journal-grid,.journal-lower-grid { grid-template-columns: 1fr; }
|
||||
.elder-switcher { gap: 24px; }
|
||||
}
|
||||
@media (max-width: 720px) {
|
||||
.customer-header { height: 58px !important; }
|
||||
.customer-layout__body { padding-top: 58px; }
|
||||
.customer-sider { top: 58px; height: calc(100dvh - 58px); }
|
||||
.customer-page.customer-page,.customer-page.customer-page--home { padding: 10px 12px 44px !important; }
|
||||
.customer-page.customer-page > .workspace { padding: 0 !important; }
|
||||
.customer-header__brand > strong { display: block; font-size: 18px; }
|
||||
.household-tabs { padding-inline: 2px; }
|
||||
.elder-switcher { min-height: 116px; padding-inline: 8px; }
|
||||
.elder-switcher img { width: 62px; height: 62px; }
|
||||
.elder-switcher > button { min-width: 78px; min-height: 100px !important; }
|
||||
.journal-card { overflow: hidden; }
|
||||
.journal-weekly__chart { width: 100%; max-width: 100%; overflow-x: auto; grid-template-columns: repeat(7,64px); justify-content: start; }
|
||||
.journal-card > header { padding-inline: 18px; }
|
||||
.latest-chat blockquote,.latest-chat__mood { margin-inline: 18px; }
|
||||
.latest-chat > button { width: calc(100% - 36px); margin-inline: 18px; }
|
||||
.recent-activity > div > button { grid-template-columns: 28px minmax(0,1fr); gap: 5px 10px; }
|
||||
.recent-activity > div > button > .anticon { grid-column: 1; grid-row: 1 / 4; }
|
||||
.recent-activity time,.recent-activity strong,.recent-activity span { grid-column: 2; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user