This commit is contained in:
wchino
2026-06-13 17:38:25 +08:00
parent e7e938f261
commit 7b33d9f9fa
190 changed files with 23222 additions and 4336 deletions

View File

@@ -541,4 +541,265 @@ watch(() => route.path, () => {
gap: 8px;
}
}
/* Light management shell */
.shell {
--sidebar-width: 204px;
height: 100dvh;
background: var(--bg-body);
color: var(--text);
}
.sidebar {
background: #ffffff;
border-right: 1px solid var(--border);
box-shadow: 10px 0 28px rgba(56, 49, 37, 0.04);
}
.brand {
height: 64px;
min-height: 64px;
padding: 0 16px;
border-bottom: 1px solid var(--border-soft);
justify-content: flex-start;
}
.brand-logo {
max-width: 132px;
max-height: 38px;
}
.nav {
padding: 12px 10px;
gap: 4px;
}
.nav-item {
gap: 10px;
min-height: 38px;
padding: 9px 11px;
border: 1px solid transparent;
border-radius: 8px;
color: #67635c;
font-size: 13px;
font-weight: 650;
}
.nav-item :deep(.admin-nav-icon) {
opacity: 0.86;
}
.nav-item:hover {
border-color: var(--border-soft);
background: var(--accent-hover);
color: var(--text);
}
.nav-item.active {
border-color: var(--primary);
background: var(--primary);
color: #ffffff;
font-weight: 750;
}
.nav-item.active :deep(.admin-nav-icon),
.nav-item:hover :deep(.admin-nav-icon) {
opacity: 1;
}
.sidebar-foot {
padding: 12px 14px;
border-top: 1px solid var(--border-soft);
color: #aaa49a;
letter-spacing: 0;
}
.sidebar-backdrop {
background: rgba(31, 35, 32, 0.28);
backdrop-filter: blur(2px);
}
.main {
background: var(--bg-body);
}
.topbar {
height: 64px;
min-height: 64px;
padding: 0 28px;
background: rgba(255, 255, 255, 0.92);
border-bottom: 1px solid var(--border);
backdrop-filter: blur(14px);
}
.topbar-left {
gap: 12px;
}
.btn-menu {
width: 38px;
height: 38px;
border-color: var(--border);
background: #ffffff;
color: var(--text);
}
.btn-menu:hover {
border-color: #d5cfc3;
background: var(--accent-hover);
}
.topbar-title {
color: var(--text);
font-size: 15px;
font-weight: 750;
}
.topbar-crumbs {
gap: 2px 7px;
font-size: 14px;
font-weight: 700;
}
.crumb-link {
color: var(--text-muted);
}
.crumb-link:hover,
.crumb-current {
color: var(--text);
}
.crumb-sep {
color: #b6afa3;
}
.topbar-accent {
width: 3px;
height: 18px;
border-radius: 999px;
background: var(--primary);
}
.topbar-page-actions {
margin-left: 10px;
}
.user-chip {
padding: 4px 8px 4px 4px;
border: 1px solid var(--border-soft);
border-radius: 999px;
background: #fbfaf7;
}
.avatar {
width: 30px;
height: 30px;
border: 1px solid #d6ddd4;
background: var(--success-bg);
color: var(--success-text);
font-weight: 750;
}
.user-name {
color: var(--text);
font-weight: 750;
}
.user-role {
color: var(--text-muted);
font-weight: 650;
}
.portal-tag {
padding: 4px 8px;
border-color: var(--border);
border-radius: 999px;
background: #ffffff;
color: var(--text-muted);
font-weight: 750;
}
.btn-logout {
min-height: 32px;
padding: 0 14px;
border-color: var(--border);
border-radius: 7px;
background: #ffffff;
color: var(--text);
font-weight: 700;
}
.btn-logout:hover {
border-color: var(--danger-border);
background: var(--danger-bg);
color: var(--danger-text);
}
.page-main {
padding: 22px 28px 30px;
background: var(--bg-body);
}
@media (max-width: 1023px) {
.sidebar.open {
box-shadow: 18px 0 46px rgba(56, 49, 37, 0.16);
}
.topbar {
height: auto;
min-height: 60px;
padding: 10px 14px;
align-items: flex-start;
gap: 10px;
}
.topbar-left {
flex: 1;
min-width: 0;
}
.topbar-title {
min-width: 0;
}
.topbar-crumbs,
.topbar-page-label {
max-width: 42vw;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.page-main {
padding: 14px;
}
}
@media (max-width: 640px) {
.topbar {
flex-wrap: wrap;
}
.topbar-right {
width: 100%;
justify-content: flex-end;
gap: 8px;
}
.user-chip {
padding: 0;
border: none;
background: transparent;
}
.avatar {
width: 32px;
height: 32px;
}
.btn-logout {
padding: 0 10px;
}
}
</style>