Files
vendoo/public/ux-foundation.css
T

361 lines
6.5 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* Vendoo UX Foundation 1.44.0
* Klare Navigation, reduzierte Dashboard-Komplexität und bessere responsive Hierarchie.
*/
:root {
--ux-sidebar-width: 252px;
--ux-content-max: 1440px;
}
.ux-shell-ready .sidebar {
width: var(--ux-sidebar-width);
}
.ux-shell-ready .main-wrapper {
margin-left: var(--ux-sidebar-width);
}
.ux-shell-ready .sidebar-header {
padding: 18px 16px 14px;
}
.ux-shell-ready .sidebar-nav {
padding: 10px 8px 16px;
}
.ux-nav-sections {
display: flex;
flex-direction: column;
gap: 14px;
}
.ux-nav-section {
display: flex;
flex-direction: column;
gap: 4px;
}
.ux-nav-section-label,
.ux-nav-section > summary {
color: var(--text-muted);
font-size: 10px;
font-weight: 700;
letter-spacing: .09em;
line-height: 1.2;
padding: 0 10px 5px;
text-transform: uppercase;
}
.ux-nav-section > summary {
align-items: center;
cursor: pointer;
display: flex;
justify-content: space-between;
list-style: none;
min-height: 28px;
}
.ux-nav-section > summary::-webkit-details-marker {
display: none;
}
.ux-nav-section > summary::after {
content: '';
font-size: 16px;
transform: rotate(90deg);
transition: transform .16s ease;
}
.ux-nav-section:not([open]) > summary::after {
transform: rotate(0deg);
}
.ux-nav-section-items {
display: flex;
flex-direction: column;
gap: 3px;
}
.ux-shell-ready .nav-item {
border: 1px solid transparent;
border-radius: var(--vd-radius-md);
font-size: 13px;
min-height: 40px;
padding: 9px 11px;
}
.ux-shell-ready .nav-item svg {
height: 18px;
opacity: .75;
width: 18px;
}
.ux-shell-ready .nav-item.active {
border-color: color-mix(in srgb, var(--accent) 22%, transparent);
box-shadow: inset 3px 0 0 var(--accent);
}
.ux-shell-ready .nav-item:focus-visible,
.ux-shell-ready .ux-command-action:focus-visible,
.ux-shell-ready .command-search:focus-visible {
outline: 3px solid var(--accent-light);
outline-offset: 2px;
}
.ux-shell-ready main {
max-width: var(--ux-content-max);
padding: 26px 32px 48px;
}
.ux-shell-ready .topbar {
min-height: 64px;
padding: 12px 32px;
}
.ux-shell-ready .topbar-heading {
min-width: 180px;
}
.ux-shell-ready .topbar-title {
font-size: 17px;
}
.ux-shell-ready .topbar-kicker {
display: block;
font-size: 11px;
margin-top: 2px;
}
.ux-shell-ready .command-search {
max-width: 480px;
min-width: 280px;
}
.ux-shell-ready .tab-content.active > .page-heading h2,
.ux-shell-ready .tab-content.active > .settings-hero h2 {
border: 0;
clip: rect(0 0 0 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
white-space: nowrap;
width: 1px;
}
.ux-shell-ready .tab-content.active > .page-heading,
.ux-shell-ready .tab-content.active > .settings-hero {
margin-bottom: 20px;
}
.ux-shell-ready .tab-content.active > .page-heading .eyebrow {
display: none;
}
.ux-command-center {
align-items: center;
background: linear-gradient(135deg, var(--bg-card), var(--bg-page));
border: 1px solid var(--border);
border-radius: var(--vd-radius-xl);
display: grid;
gap: 22px;
grid-template-columns: minmax(0, 1fr) auto;
margin-bottom: 22px;
padding: 22px 24px;
}
.ux-command-copy span {
color: var(--accent);
display: block;
font-size: 11px;
font-weight: 700;
letter-spacing: .08em;
margin-bottom: 7px;
text-transform: uppercase;
}
.ux-command-copy h3 {
font-size: clamp(20px, 2vw, 27px);
letter-spacing: -.035em;
line-height: 1.15;
margin: 0 0 7px;
}
.ux-command-copy p {
color: var(--text-secondary);
line-height: 1.55;
margin: 0;
max-width: 680px;
}
.ux-command-actions {
display: flex;
flex-wrap: wrap;
gap: 8px;
justify-content: flex-end;
}
.ux-command-action {
align-items: center;
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--vd-radius-md);
color: var(--text);
cursor: pointer;
display: inline-flex;
font: inherit;
font-size: 13px;
font-weight: 650;
gap: 7px;
min-height: 40px;
padding: 9px 13px;
}
.ux-command-action:hover {
border-color: var(--accent);
color: var(--accent);
}
.ux-command-action.primary {
background: var(--accent);
border-color: var(--accent);
color: white;
}
.ux-command-action.primary:hover {
background: var(--accent-hover);
color: white;
}
.ux-dashboard-more {
border-top: 1px solid var(--border);
margin-top: 12px;
padding-top: 8px;
}
.ux-dashboard-more > summary {
color: var(--text-secondary);
cursor: pointer;
font-size: 12px;
font-weight: 700;
list-style: none;
padding: 8px 2px;
}
.ux-dashboard-more > summary::-webkit-details-marker {
display: none;
}
.ux-dashboard-more > summary::after {
color: var(--text-muted);
content: ' anzeigen';
font-weight: 500;
}
.ux-dashboard-more[open] > summary::after {
content: ' ausblenden';
}
.ux-dashboard-more-content {
display: grid;
gap: 14px;
padding-top: 8px;
}
.ux-shell-ready .dashboard-actions-card {
display: none;
}
.ux-shell-ready .dashboard-kpis {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ux-shell-ready .dashboard-card,
.ux-shell-ready .work-panel {
border-radius: var(--vd-radius-lg);
}
@media (max-width: 1180px) {
.ux-shell-ready .dashboard-layout {
grid-template-columns: 1fr;
}
.ux-shell-ready .dashboard-rail {
display: grid;
gap: 14px;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ux-dashboard-more {
grid-column: 1 / -1;
}
}
@media (max-width: 900px) {
.ux-shell-ready .sidebar {
width: min(86vw, 300px);
}
.ux-shell-ready .main-wrapper {
margin-left: 0;
}
.ux-shell-ready main {
padding: 20px 18px 38px;
}
.ux-shell-ready .topbar {
padding: 10px 18px;
}
.ux-shell-ready .command-search {
min-width: 0;
}
.ux-command-center {
grid-template-columns: 1fr;
}
.ux-command-actions {
justify-content: flex-start;
}
}
@media (max-width: 680px) {
.ux-shell-ready .topbar-context-icon,
.ux-shell-ready .topbar-kicker,
.ux-shell-ready .command-search span,
.ux-shell-ready .command-search kbd {
display: none;
}
.ux-shell-ready .command-search {
justify-content: center;
min-width: 40px;
padding-inline: 10px;
width: 40px;
}
.ux-shell-ready .dashboard-kpis,
.ux-shell-ready .dashboard-rail {
grid-template-columns: 1fr;
}
.ux-command-actions {
display: grid;
grid-template-columns: 1fr;
}
.ux-command-action {
justify-content: center;
width: 100%;
}
}
@media (prefers-reduced-motion: reduce) {
.ux-nav-section > summary::after {
transition: none;
}
}