diff --git a/app/static/css/style.css b/app/static/css/style.css index aab79eb..847b908 100644 --- a/app/static/css/style.css +++ b/app/static/css/style.css @@ -1,8 +1,8 @@ :root { - /* New Color Palette */ - --primary: #00984C; - --primary-dark: #003E21; - --primary-light: #E5A939; + /* New Color Palette (cozy / e-sporty) */ + --primary: #6C4CFF; + --primary-dark: #5530D9; + --primary-light: #8B6CFF; --success: #00984C; --success-light: #F0F2F2; --warning: #E5A939; @@ -13,7 +13,7 @@ --info-light: #eff6ff; --secondary: #6b7280; --secondary-light: #F0F2F2; - --dark: #12130F; + --dark: #0D0D12; --gray-50: #F0F2F2; --gray-100: #E8EAEB; --gray-200: #D1D5DB; @@ -22,8 +22,8 @@ --gray-500: #4B5563; --gray-600: #374151; --gray-700: #1F2937; - --gray-800: #12130F; - --gray-900: #0A0B0A; + --gray-800: #16161D; + --gray-900: #0D0D12; --sidebar-width: 260px; --sidebar-collapsed: 0px; --radius: 12px; @@ -34,21 +34,66 @@ --transition: all 0.2s ease; } +/* Local-first Sora font-face (local installed fonts preferred, then /static/fonts fallback). */ +/* To use local files, place these filenames in app/static/fonts: Sora-300.woff2, Sora-400.woff2, Sora-500.woff2, Sora-600.woff2, Sora-700.woff2, Sora-800.woff2 */ +@font-face { + font-family: 'Sora'; + src: local('Sora'), local('Sora-Regular'), url('/static/fonts/Sora-400.woff2') format('woff2'); + font-weight: 400; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: 'Sora'; + src: local('Sora Medium'), local('Sora-Medium'), url('/static/fonts/Sora-500.woff2') format('woff2'); + font-weight: 500; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: 'Sora'; + src: local('Sora SemiBold'), local('Sora-SemiBold'), url('/static/fonts/Sora-600.woff2') format('woff2'); + font-weight: 600; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: 'Sora'; + src: local('Sora Bold'), local('Sora-Bold'), url('/static/fonts/Sora-700.woff2') format('woff2'); + font-weight: 700; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: 'Sora'; + src: local('Sora ExtraBold'), local('Sora-ExtraBold'), url('/static/fonts/Sora-800.woff2') format('woff2'); + font-weight: 800; + font-style: normal; + font-display: swap; +} +@font-face { + font-family: 'Sora'; + src: local('Sora Light'), local('Sora-Light'), url('/static/fonts/Sora-300.woff2') format('woff2'); + font-weight: 300; + font-style: normal; + font-display: swap; +} + /* Dark Mode Variables */ [data-theme="dark"] { - --bg-primary: #12130F; - --bg-secondary: #1A1D17; - --bg-tertiary: #232820; - --text-primary: #F0F2F2; + --bg-primary: #0D0D12; + --bg-secondary: #16161D; + --bg-tertiary: #23232E; + --text-primary: #FFFFFF; --text-secondary: #D1D5DB; --text-muted: #9CA3AF; - --border-color: #2D342A; - --card-bg: #1A1D17; - --sidebar-bg: #0A0B0A; + --border-color: #2D2A3A; + --card-bg: #16161D; + --sidebar-bg: #0D0D12; --sidebar-text: #F0F2F2; - --sidebar-hover: rgba(240, 242, 242, 0.08); - --input-bg: #232820; - --input-border: #2D342A; + --sidebar-hover: rgba(108, 76, 255, 0.08); + --input-bg: #23232E; + --input-border: #2D2A3A; --shadow: 0 1px 3px rgba(0,0,0,0.3), 0 1px 2px rgba(0,0,0,0.2); --shadow-md: 0 4px 6px rgba(0,0,0,0.25), 0 2px 4px rgba(0,0,0,0.2); --shadow-lg: 0 10px 15px rgba(0,0,0,0.3), 0 4px 6px rgba(0,0,0,0.2); @@ -57,13 +102,40 @@ * { margin: 0; padding: 0; box-sizing: border-box; } body { - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + font-family: 'Sora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background: var(--gray-50); color: var(--gray-800); line-height: 1.6; min-height: 100vh; } +/* Headings use Sora Bold for stronger, e-sporty look */ +h1, h2, h3, h4, h5, h6, .page-header h1, .card-header h3 { + font-family: 'Sora', sans-serif; + font-weight: 700; + letter-spacing: -0.01em; + color: var(--text-primary, var(--gray-900)); +} + +/* Tweak letter-spacing when local Sora is available vs fallback */ +html.font-sora-available h1, html.font-sora-available h2, html.font-sora-available h3, +html.font-sora-available h4, html.font-sora-available h5, html.font-sora-available h6, +html.font-sora-available .page-header h1, html.font-sora-available .card-header h3 { + letter-spacing: -0.02em; /* tighter when true Sora is present */ +} +html.font-sora-fallback h1, html.font-sora-fallback h2, html.font-sora-fallback h3, +html.font-sora-fallback h4, html.font-sora-fallback h5, html.font-sora-fallback h6, +html.font-sora-fallback .page-header h1, html.font-sora-fallback .card-header h3 { + letter-spacing: -0.01em; /* keep the default for fallback fonts */ +} + +/* Logo text use extra-bold feel */ +.logo span, .auth-header h2 { + font-family: 'Sora', sans-serif; + font-weight: 800; + letter-spacing: 0.02em; +} + a { color: var(--primary); text-decoration: none; } a:hover { color: var(--primary-dark); } @@ -502,7 +574,7 @@ a:hover { color: var(--primary-dark); } .form-group textarea:focus { outline: none; border-color: var(--primary); - box-shadow: 0 0 0 3px rgba(0, 152, 76, 0.1); + box-shadow: 0 0 0 3px rgba(108, 76, 255, 0.12); } .form-group textarea { resize: vertical; min-height: 80px; } @@ -573,12 +645,12 @@ a:hover { color: var(--primary-dark); } flex-direction: column; align-items: center; justify-content: center; - background: linear-gradient(135deg, #00984C 0%, #003E21 100%); + background: linear-gradient(135deg, #6C4CFF 0%, #16161D 100%); padding: 20px; } [data-theme="dark"] .auth-wrapper { - background: linear-gradient(135deg, #003E21 0%, #12130F 100%); + background: linear-gradient(135deg, #5530D9 0%, #0D0D12 100%); } .auth-wrapper .flash-messages { @@ -656,7 +728,7 @@ a:hover { color: var(--primary-dark); } .auth-form .form-group input:focus { border-color: var(--primary); - box-shadow: 0 0 0 3px rgba(0, 152, 76, 0.1); + box-shadow: 0 0 0 3px rgba(108, 76, 255, 0.12); outline: none; } diff --git a/app/static/images/LOCKIN_logo_full.png b/app/static/images/LOCKIN_logo_full.png new file mode 100644 index 0000000..5a88eb5 Binary files /dev/null and b/app/static/images/LOCKIN_logo_full.png differ diff --git a/app/templates/layouts/base.html b/app/templates/layouts/base.html index 1dd17a2..a4d93f3 100644 --- a/app/templates/layouts/base.html +++ b/app/templates/layouts/base.html @@ -5,7 +5,46 @@ {% block title %}UdeS team manager{% endblock %} + + @@ -13,7 +52,7 @@