diff --git a/packages/tokens/src/tokens/base/filter.json b/packages/tokens/src/tokens/base/filter.json index 156275f34..1eb518acd 100644 --- a/packages/tokens/src/tokens/base/filter.json +++ b/packages/tokens/src/tokens/base/filter.json @@ -5,6 +5,10 @@ "4": { "value": "4px" }, "7": { "value": "7px" }, "10": { "value": "10px" }, + "12": { "value": "12px" }, + "14": { "value": "14px" }, + "16": { "value": "16px" }, + "18": { "value": "18px" }, "20": { "value": "20px" }, "40": { "value": "40px" }, "50": { "value": "50px" }, diff --git a/synkronus-portal/src/components/Login.css b/synkronus-portal/src/components/Login.css index b8935e3a2..c1f63b024 100644 --- a/synkronus-portal/src/components/Login.css +++ b/synkronus-portal/src/components/Login.css @@ -48,7 +48,7 @@ background-position: center; background-repeat: no-repeat; background-attachment: fixed; - filter: blur(4px) brightness(0.4) saturate(0); + filter: blur(var(--filter-blur-12)) brightness(0.4) saturate(0); opacity: var(--opacity-70); z-index: 0; pointer-events: none; @@ -57,7 +57,7 @@ } [data-theme="light"] .login-container::after { - filter: blur(7px) brightness(1) saturate(1); + filter: blur(var(--filter-blur-16)) brightness(1) saturate(1); opacity: var(--opacity-70); } diff --git a/synkronus-portal/src/components/ThemeSwitcher.css b/synkronus-portal/src/components/ThemeSwitcher.css index 7d20284f2..e2f2ed288 100644 --- a/synkronus-portal/src/components/ThemeSwitcher.css +++ b/synkronus-portal/src/components/ThemeSwitcher.css @@ -170,7 +170,9 @@ background: var(--color-semantic-ui-surface-dropdown-dark); backdrop-filter: blur(40px) saturate(180%); -webkit-backdrop-filter: blur(40px) saturate(180%); - border: var(--border-width-thin) solid var(--color-brand-primary-alpha-20); + border: none; + border-left: var(--border-width-thin) solid var(--color-brand-primary-alpha-30); + border-right: none; border-radius: var(--border-radius-lg); box-shadow: var(--shadow-portal-lg), inset 0 1px 0 var(--color-neutral-white-alpha-5); padding: var(--spacing-2); @@ -179,6 +181,23 @@ overflow: visible; } +/* Top and bottom borders: fade from left to right */ +.theme-switcher-dropdown::before { + content: ''; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + border-radius: inherit; + pointer-events: none; + z-index: 0; + background: + linear-gradient(to right, var(--color-brand-primary-alpha-30), transparent) 0 0 / 100% var(--border-width-thin) no-repeat, + linear-gradient(to right, var(--color-brand-primary-alpha-30), transparent) 0 100% / 100% var(--border-width-thin) no-repeat; + background-origin: border-box; +} + @media (min-width: 1025px) { .user-info .theme-switcher-container .theme-switcher-dropdown { position: fixed; @@ -186,6 +205,8 @@ right: 0; left: auto; border: none; + border-left: var(--border-width-thin) solid var(--color-brand-primary-alpha-30); + border-right: none; border-radius: 0 0 0 var(--border-radius-xl); } @@ -355,14 +376,23 @@ [data-theme="light"] .theme-switcher-dropdown { background: var(--color-semantic-ui-surface-dropdown-light); - border-color: var(--color-brand-primary-alpha-15); + border-left: var(--border-width-thin) solid var(--color-brand-primary-400); + border-right: none; box-shadow: 0 8px 32px var(--color-neutral-black-alpha-10), inset 0 1px 0 var(--color-neutral-black-alpha-3); } +[data-theme="light"] .theme-switcher-dropdown::before { + background: + linear-gradient(to right, var(--color-brand-primary-400), transparent) 0 0 / 100% var(--border-width-thin) no-repeat, + linear-gradient(to right, var(--color-brand-primary-400), transparent) 0 100% / 100% var(--border-width-thin) no-repeat; +} + @media (min-width: 1025px) { [data-theme="light"] .user-info .theme-switcher-container .theme-switcher-dropdown { border: none; + border-left: var(--border-width-thin) solid var(--color-brand-primary-400); + border-right: none; } [data-theme="light"] .user-info .theme-switcher-container .theme-switcher-dropdown::after { diff --git a/synkronus-portal/src/pages/Dashboard.css b/synkronus-portal/src/pages/Dashboard.css index 6079c0880..6d9aa7923 100644 --- a/synkronus-portal/src/pages/Dashboard.css +++ b/synkronus-portal/src/pages/Dashboard.css @@ -100,7 +100,7 @@ html::-webkit-scrollbar-thumb:hover { background-position: center; background-repeat: no-repeat; background-attachment: fixed; - filter: blur(var(--filter-blur-2)) brightness(0.5) saturate(0); + filter: blur(var(--filter-blur-14)) brightness(0.5) saturate(0); opacity: var(--opacity-70); z-index: 0; pointer-events: none; @@ -109,7 +109,7 @@ html::-webkit-scrollbar-thumb:hover { } [data-theme="light"] .dashboard::after { - filter: blur(var(--filter-blur-4)) brightness(1) saturate(1); + filter: blur(var(--filter-blur-18)) brightness(1) saturate(1); opacity: var(--opacity-70); } @@ -2871,10 +2871,9 @@ html::-webkit-scrollbar-thumb:hover { .modal-content { position: relative; z-index: 10001; - background: var(--color-neutral-900-alpha-95); - backdrop-filter: blur(var(--filter-blur-40)); + background: var(--color-neutral-900); border-radius: var(--border-radius-xl); - border: var(--border-width-thin) solid var(--color-neutral-white-alpha-10); + border: var(--border-width-medium) solid var(--color-neutral-700); box-shadow: var(--shadow-2xl); max-width: 600px; width: 100%; @@ -3092,6 +3091,16 @@ html::-webkit-scrollbar-thumb:hover { transform: rotate(90deg); } +[data-theme="light"] .modal-close { + color: var(--color-text-primary); +} + +[data-theme="light"] .modal-close:hover { + color: var(--color-neutral-900); + background: var(--color-neutral-black-alpha-10); + transform: rotate(90deg); +} + .modal-body { padding: var(--spacing-6); } @@ -3911,23 +3920,64 @@ html::-webkit-scrollbar-thumb:hover { color: var(--color-neutral-white); } -/* Modal Close Button */ -.modal-actions button[type="button"] { - padding: var(--spacing-3) var(--spacing-6); - background: var(--color-neutral-white-alpha-5); - border: var(--border-width-thin) solid var(--color-neutral-white-alpha-10); - border-radius: var(--border-radius-md); - color: var(--color-neutral-white); - cursor: pointer; - font-size: var(--font-size-sm); - font-weight: var(--font-weight-semibold); - transition: all var(--duration-normal) var(--easing-ease-out); +/* Cancel / Close buttons in modals (except Create User) – match modal close (X): same color and hover */ +.modal-content:not(.modal-create-user) .modal-actions button[type="button"], +.modal-content:not(.modal-create-user) .modal-actions .ode-button--neutral { + padding: var(--spacing-3) var(--spacing-6) !important; + background: transparent !important; + border: var(--border-width-thin) solid transparent !important; + border-radius: var(--border-radius-md) !important; + color: var(--color-neutral-white-alpha-70) !important; + font-size: var(--font-size-sm) !important; + font-weight: var(--font-weight-semibold) !important; + transition: all var(--duration-fast) var(--easing-ease-out) !important; } -.modal-actions button[type="button"]:hover { - background: var(--color-neutral-white-alpha-10); - border-color: var(--color-neutral-white-alpha-20); - transform: translateY(-1px); +.modal-content:not(.modal-create-user) .modal-actions button[type="button"]:hover:not(:disabled), +.modal-content:not(.modal-create-user) .modal-actions .ode-button--neutral:hover:not(:disabled) { + color: var(--color-neutral-white) !important; + background: var(--color-brand-primary-500) !important; + border-color: var(--color-brand-primary-500) !important; + transform: translateY(-1px) !important; +} + +[data-theme="light"] .modal-content:not(.modal-create-user) .modal-actions button[type="button"], +[data-theme="light"] .modal-content:not(.modal-create-user) .modal-actions .ode-button--neutral { + color: var(--color-text-primary) !important; +} + +[data-theme="light"] .modal-content:not(.modal-create-user) .modal-actions button[type="button"]:hover:not(:disabled), +[data-theme="light"] .modal-content:not(.modal-create-user) .modal-actions .ode-button--neutral:hover:not(:disabled) { + color: var(--color-neutral-white) !important; + background: var(--color-brand-primary-500) !important; + border-color: var(--color-brand-primary-500) !important; +} + +[data-theme="light"] .modal-content:not(.modal-create-user) .modal-actions button[type="button"]:hover:not(:disabled) span, +[data-theme="light"] .modal-content:not(.modal-create-user) .modal-actions button[type="button"]:hover:not(:disabled) *, +[data-theme="light"] .modal-content:not(.modal-create-user) .modal-actions .ode-button--neutral:hover:not(:disabled) span, +[data-theme="light"] .modal-content:not(.modal-create-user) .modal-actions .ode-button--neutral:hover:not(:disabled) * { + color: var(--color-neutral-white) !important; +} + +/* Create User modal – restore original button styles (visible background and border); hover stays green for both via rules below */ +.modal-create-user .modal-actions button[type="button"], +.modal-create-user .modal-actions .ode-button--neutral { + padding: var(--spacing-2) var(--spacing-4) !important; + background: var(--color-neutral-white-alpha-5) !important; + border: var(--border-width-thin) solid var(--color-neutral-white-alpha-10) !important; + border-radius: var(--border-radius-md) !important; + color: var(--color-neutral-white) !important; + font-size: var(--font-size-sm) !important; + font-weight: var(--font-weight-semibold) !important; + transition: all var(--duration-normal) var(--easing-ease-out) !important; +} + +[data-theme="light"] .modal-create-user .modal-actions button[type="button"], +[data-theme="light"] .modal-create-user .modal-actions .ode-button--neutral { + background: var(--color-neutral-black-alpha-5) !important; + border-color: var(--color-border-default) !important; + color: var(--color-text-primary) !important; } /* Info Row Column Layout */ @@ -4020,6 +4070,7 @@ html::-webkit-scrollbar-thumb:hover { [data-theme="light"] .user-search-empty h3, [data-theme="light"] .modal-header h2, [data-theme="light"] .files-list h3, +[data-theme="light"] .files-table th, [data-theme="light"] .changes-section h3, [data-theme="light"] .users-table th, [data-theme="light"] .observations-table th, @@ -4029,7 +4080,6 @@ html::-webkit-scrollbar-thumb:hover { } [data-theme="light"] .section-card, -[data-theme="light"] .modal-content, [data-theme="light"] .tab-content, [data-theme="light"] .search-bar, [data-theme="light"] .role-dropdown-menu { @@ -4037,6 +4087,12 @@ html::-webkit-scrollbar-thumb:hover { border-color: var(--color-border-default); } +/* Modal content – solid background and green border in light mode */ +[data-theme="light"] .modal-content { + background: var(--color-neutral-white); + border: var(--border-width-medium) solid var(--color-brand-primary-500); +} + /* Different shades for containers in light mode - similar to dark mode hierarchy */ [data-theme="light"] .welcome-card { background: var(--color-brand-primary-alpha-8);