forked from Goutam/lynkeduppro-crm
Redesign Support as bento hub, restore full sidebar, Western names
- Support Center overview rebuilt as a bento grid: large live-chat hero tile, support team tile, mini channel tiles and a recent-tickets strip. - Restore full workspace sidebar (Workspace/Team/Profile groups) with a premium golden active state; unbuilt modules show a Coming Soon view. - Use Western names across the UI (James Carter; Emma Wilson, Liam Foster, Sophie Turner, Noah Mitchell) incl. tickets, threads, portal demo user. - Remove the Allottee card from Profile; add a clean Account & identity card and live-editable contacts. - Relabel "Plot" -> "House number" everywhere; drop the allotment chip in favour of the property category. - Premium visual pass: brand gradients, depth, glow accents, pill tabs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -235,6 +235,29 @@
|
||||
}
|
||||
.dash-root .view { position: relative; z-index: 1; }
|
||||
|
||||
/* ---- sidebar (premium nav) ---- */
|
||||
.dash-root .dash-sidebar { width: 236px; flex: 0 0 236px; background: linear-gradient(180deg, color-mix(in srgb, var(--orange) 4%, var(--sidebar)) 0%, var(--sidebar) 30%); }
|
||||
.dash-root .dash-brand { padding: 20px 18px 16px; }
|
||||
.dash-root .dash-brand .bk { font-size: 15.5px; font-weight: 800; letter-spacing: -0.01em; }
|
||||
.dash-root .dash-nav { padding: 4px 12px 14px; }
|
||||
.dash-root .nav-section { margin-bottom: 4px; }
|
||||
.dash-root .nav-section + .nav-section { border-top: 1px solid var(--border); padding-top: 4px; }
|
||||
.dash-root .nav-group { font-size: 10px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; color: var(--faint); padding: 13px 10px 7px; }
|
||||
.dash-root .nav-item { display: flex; align-items: center; gap: 11px; width: 100%; padding: 9px 11px; border-radius: 10px; border: 0; background: none; cursor: pointer; color: var(--muted); font-family: inherit; font-size: 13px; font-weight: 500; text-align: left; transition: background 0.14s, color 0.14s, transform 0.12s; }
|
||||
.dash-root .nav-item svg { color: var(--faint); flex: 0 0 auto; transition: color 0.14s; }
|
||||
.dash-root .nav-item-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
||||
.dash-root .nav-item:hover { background: var(--panel-2); color: var(--text); }
|
||||
.dash-root .nav-item:hover svg { color: var(--text-2); }
|
||||
.dash-root .nav-item.active { background: var(--grad-brand); color: #1a1206; font-weight: 700; box-shadow: var(--glow-orange); }
|
||||
.dash-root .nav-item.active svg { color: #1a1206; }
|
||||
|
||||
/* ---- coming-soon placeholder ---- */
|
||||
.dash-root .coming-soon { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 56px 24px; gap: 8px; }
|
||||
.dash-root .coming-soon-ic { width: 76px; height: 76px; border-radius: 22px; display: grid; place-items: center; color: var(--orange); background: color-mix(in srgb, var(--orange) 12%, transparent); margin-bottom: 8px; }
|
||||
.dash-root .coming-soon h3 { font-size: 18px; font-weight: 800; }
|
||||
.dash-root .coming-soon p { font-size: 13px; color: var(--muted); max-width: 440px; line-height: 1.55; }
|
||||
.dash-root .coming-soon-actions { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; justify-content: center; }
|
||||
|
||||
/* ---- animations ---- */
|
||||
@keyframes ds-fade { from { opacity: 0; } to { opacity: 1; } }
|
||||
@keyframes ds-pop { from { opacity: 0; transform: translateY(10px) scale(0.985); } to { opacity: 1; transform: none; } }
|
||||
@@ -340,7 +363,7 @@
|
||||
.dash-root .link-inline { background: none; border: 0; color: var(--orange); font-size: 12px; font-weight: 600; cursor: pointer; font-family: inherit; }
|
||||
|
||||
/* ---- Segmented / Tabs ---- */
|
||||
.dash-root .ds-segmented { display: inline-flex; gap: 3px; padding: 4px; background: var(--panel-2); border: 1px solid var(--border); border-radius: 12px; flex-wrap: wrap; }
|
||||
.dash-root .ds-segmented { display: inline-flex; gap: 3px; padding: 4px; background: var(--panel-2); border: 1px solid var(--border); border-radius: 12px; flex-wrap: wrap; margin-bottom: 20px; }
|
||||
.dash-root .ds-segmented .seg { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 14px; border: 0; border-radius: 9px; background: none; color: var(--muted); font-family: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: 0.14s; }
|
||||
.dash-root .ds-segmented .seg:hover { color: var(--text); }
|
||||
.dash-root .ds-segmented .seg.active { background: var(--panel); color: var(--text); box-shadow: var(--card-hi), 0 4px 12px -7px rgba(0,0,0,0.5); }
|
||||
@@ -524,7 +547,73 @@
|
||||
.dash-root .tl-dot.ev-resolved, .dash-root .tl-dot.ev-closed { background: color-mix(in srgb, var(--green) 18%, transparent); color: var(--green); }
|
||||
.dash-root .tl-body { padding-top: 2px; } .dash-root .tl-title { font-size: 13px; font-weight: 600; } .dash-root .tl-meta { font-size: 11.5px; color: var(--muted); margin-top: 1px; } .dash-root .tl-time { font-size: 11px; color: var(--faint); margin-top: 2px; }
|
||||
|
||||
/* ---- Support: channel cards ---- */
|
||||
/* ---- Support: Bento hub ---- */
|
||||
.dash-root .support-bento {
|
||||
display: grid; gap: 16px; grid-template-columns: repeat(4, 1fr);
|
||||
grid-template-areas:
|
||||
"chat chat team team"
|
||||
"chat chat team team"
|
||||
"ticket call email help"
|
||||
"recent recent recent recent";
|
||||
}
|
||||
.dash-root .bento-tile { border: 1px solid var(--border); border-radius: 18px; background: var(--card-grad); box-shadow: var(--card-hi); padding: 20px; }
|
||||
.dash-root .bento-tile-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
|
||||
.dash-root .bento-tile-head h3 { font-size: 15px; font-weight: 700; }
|
||||
|
||||
/* hero live-chat tile */
|
||||
.dash-root .bento-chat { grid-area: chat; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; gap: 20px; min-height: 268px; text-align: left; cursor: pointer; font-family: inherit; border: 0; color: #1a1206; background: linear-gradient(135deg, #ffb43c 0%, #fda913 45%, #fd6d13 100%); box-shadow: var(--glow-orange); transition: transform 0.18s, box-shadow 0.18s; }
|
||||
.dash-root .bento-chat:hover { transform: translateY(-3px); box-shadow: 0 26px 54px -20px color-mix(in srgb, var(--orange) 85%, #000); }
|
||||
.dash-root .bento-chat::after { content: ""; position: absolute; right: -70px; top: -70px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,0.28), transparent 68%); pointer-events: none; }
|
||||
.dash-root .bento-chat::before { content: ""; position: absolute; left: -40px; bottom: -80px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(26,18,6,0.12), transparent 70%); pointer-events: none; }
|
||||
.dash-root .bento-chat-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; position: relative; z-index: 1; font-size: 12px; font-weight: 600; flex-wrap: wrap; }
|
||||
.dash-root .bento-chat-badge { display: inline-flex; align-items: center; gap: 6px; background: rgba(26,18,6,0.14); padding: 6px 11px; border-radius: 99px; }
|
||||
.dash-root .bento-chat-badge .ds-statusdot { background: #15461f; }
|
||||
.dash-root .bento-chat-wait { display: inline-flex; align-items: center; gap: 5px; color: rgba(26,18,6,0.72); }
|
||||
.dash-root .bento-chat-mid { position: relative; z-index: 1; }
|
||||
.dash-root .bento-chat-mid h2 { font-size: 28px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.12; }
|
||||
.dash-root .bento-chat-mid p { font-size: 13px; margin-top: 9px; color: rgba(26,18,6,0.8); max-width: 360px; line-height: 1.5; }
|
||||
.dash-root .bento-chat-foot { display: flex; align-items: center; justify-content: space-between; gap: 14px; position: relative; z-index: 1; flex-wrap: wrap; }
|
||||
.dash-root .bento-avstack { display: flex; align-items: center; }
|
||||
.dash-root .bento-avstack .ds-avatar { margin-left: -9px; box-shadow: 0 0 0 2px #fd8a13; border-radius: 50%; }
|
||||
.dash-root .bento-avstack .ds-avatar:first-child { margin-left: 0; }
|
||||
.dash-root .bento-av-more { margin-left: 11px; font-size: 12px; font-weight: 700; }
|
||||
.dash-root .bento-chat-cta { display: inline-flex; align-items: center; gap: 8px; background: #1a1206; color: #fff; padding: 12px 20px; border-radius: 12px; font-size: 13.5px; font-weight: 700; transition: transform 0.14s; }
|
||||
.dash-root .bento-chat:hover .bento-chat-cta { transform: translateX(3px); }
|
||||
|
||||
/* team tile */
|
||||
.dash-root .bento-team { grid-area: team; display: flex; flex-direction: column; }
|
||||
.dash-root .bento-team .team-list { overflow-y: auto; }
|
||||
|
||||
/* mini tiles */
|
||||
.dash-root .bento-mini { position: relative; overflow: hidden; text-align: left; cursor: pointer; font-family: inherit; display: flex; flex-direction: column; gap: 5px; min-height: 150px; transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s; }
|
||||
.dash-root .bento-mini::before { content: ""; position: absolute; top: -45%; right: -25%; width: 150px; height: 150px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--accent) 24%, transparent), transparent 70%); opacity: 0; transition: opacity 0.25s; pointer-events: none; }
|
||||
.dash-root .bento-mini:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--accent) 50%, transparent); box-shadow: var(--card-hi), 0 16px 36px -22px color-mix(in srgb, var(--accent) 75%, #000); }
|
||||
.dash-root .bento-mini:hover::before { opacity: 1; }
|
||||
.dash-root .bento-mini-ic { width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--accent), color-mix(in srgb, var(--accent) 55%, #000)); box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--accent) 80%, transparent); margin-bottom: 8px; }
|
||||
.dash-root .bento-mini-title { font-size: 14.5px; font-weight: 700; }
|
||||
.dash-root .bento-mini-desc { font-size: 12px; color: var(--muted); flex: 1; line-height: 1.45; }
|
||||
.dash-root .bento-mini-meta { display: flex; align-items: center; justify-content: space-between; gap: 6px; font-size: 11.5px; color: var(--accent); font-weight: 600; margin-top: 8px; }
|
||||
|
||||
/* recent tickets */
|
||||
.dash-root .bento-recent { grid-area: recent; }
|
||||
.dash-root .bento-ticket-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
|
||||
.dash-root .bento-ticket { text-align: left; cursor: pointer; font-family: inherit; padding: 14px; border-radius: 14px; border: 1px solid var(--border); background: var(--panel-2); display: flex; flex-direction: column; gap: 7px; transition: 0.14s; }
|
||||
.dash-root .bento-ticket:hover { border-color: var(--border-2); background: var(--panel-3); transform: translateY(-2px); }
|
||||
.dash-root .bento-ticket-top { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
|
||||
.dash-root .bento-ticket-subj { font-size: 13px; font-weight: 600; line-height: 1.35; }
|
||||
.dash-root .bento-ticket-meta { display: flex; align-items: center; gap: 5px; font-size: 11px; color: var(--faint); }
|
||||
|
||||
@media (max-width: 1180px) {
|
||||
.dash-root .support-bento { grid-template-columns: repeat(2, 1fr); grid-template-areas: "chat chat" "team team" "ticket call" "email help" "recent recent"; }
|
||||
.dash-root .bento-ticket-row { grid-template-columns: repeat(2, 1fr); }
|
||||
.dash-root .bento-team .team-list { max-height: none; }
|
||||
}
|
||||
@media (max-width: 680px) {
|
||||
.dash-root .support-bento { grid-template-columns: 1fr; grid-template-areas: "chat" "team" "ticket" "call" "email" "help" "recent"; }
|
||||
.dash-root .bento-ticket-row { grid-template-columns: 1fr; }
|
||||
}
|
||||
|
||||
/* ---- Support: channel cards (legacy) ---- */
|
||||
.dash-root .channel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
|
||||
.dash-root .channel-card { text-align: left; position: relative; overflow: hidden; padding: 20px; border-radius: 18px; border: 1px solid var(--border); background: var(--card-grad); box-shadow: var(--card-hi); cursor: pointer; font-family: inherit; transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s; display: flex; flex-direction: column; gap: 6px; }
|
||||
.dash-root .channel-card::before { content: ""; position: absolute; top: -45%; right: -20%; width: 190px; height: 190px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--accent) 26%, transparent), transparent 70%); opacity: 0; transition: opacity 0.25s; pointer-events: none; }
|
||||
|
||||
Reference in New Issue
Block a user