/* Spotify-inspired dark theme for Plays Hub */ body { background: #f5f6fa; color: #222; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; min-height: 100vh; margin: 0; padding: 0; font-size: 18px; } main { padding-left: 3vw; padding-right: 3vw; box-sizing: border-box; margin-top: 4.5em; } .dashboard-widget { background: #fff; border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); padding: 2em 2.5em; } .dashboard-widget .widget-title { margin-top: 0; font-size: 1.4em; color: #0071e3; font-weight: 600; margin-bottom: 1.2em; letter-spacing: 0.5px; text-align: left; width: 100%; } .dashboard-widget .widget-content { margin-top: 1em; } .dashboard-widget .widget-content div { margin-bottom: 0.5em; } .dashboard-widget .widget-content div strong { font-weight: 600; } .site-header { display: flex; justify-content: space-between; align-items: center; padding: 0.5em 3vw; background: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: sticky; top: 0; z-index: 100; } .site-header .logo a { font-weight: bold; font-size: 1.4em; color: #0071e3; text-decoration: none; } .site-header nav a { margin-left: 2em; color: #222; text-decoration: none; font-weight: 500; transition: color 0.15s; } .site-header nav a:hover { color: #0071e3; } .site-header .logout-btn { color: #e00; font-weight: 600; background: none; border: none; padding: 0; margin-left: 2em; font-size: 1em; cursor: pointer; text-decoration: none; box-shadow: none; display: inline; } .site-header .logout-link-btn { background: none; border: none; color: #e00; font-weight: 600; padding: 0; margin-left: 2em; font-size: 1em; cursor: pointer; text-decoration: none; box-shadow: none; display: inline; } .site-header .logout-link-btn:hover { text-decoration: underline; color: #b00; } @media (max-width: 700px) { .site-header { flex-direction: column; align-items: flex-start; padding: 0.7em 1vw; } .site-header nav a { margin-left: 1em; font-size: 1em; } main { margin-top: 5.5em; } } .login-card { background: #fff; border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); padding: 2em 2.5em; max-width: 400px; margin: 3em auto 2.5em auto; display: flex; flex-direction: column; align-items: flex-start; } .login-heading { margin-top: 0; font-size: 1.4em; color: #0071e3; font-weight: 600; margin-bottom: 1.2em; letter-spacing: 0.5px; text-align: left; width: 100%; } .login-card .field { width: 100%; margin-bottom: 1.2em; } .login-card .actions { width: 100%; display: flex; justify-content: flex-start; } .login-card .actions input[type="submit"], .login-card .actions button, .login-card button[type="submit"] { background: #0071e3; color: #fff; border: none; border-radius: 12px; padding: 0.8em 2.2em; font-size: 1.05em; font-weight: 600; cursor: pointer; opacity: 1; margin-top: 1em; transition: background 0.2s, opacity 0.2s; box-shadow: 0 2px 8px rgba(0,0,0,0.08); letter-spacing: 0.2px; } .login-card .actions input[type="submit"]:hover, .login-card .actions button:hover, .login-card button[type="submit"]:hover { background: #005bb5; } .login-card input[type="email"], .login-card input[type="password"] { width: 100%; padding: 0.7em 1em; border-radius: 8px; border: 1px solid #e0e0e0; font-size: 1em; margin-top: 0.3em; box-sizing: border-box; } .login-card input[type="email"]:focus, .login-card input[type="password"]:focus { outline: none; border-color: #0071e3; box-shadow: 0 0 0 2px #e8f0fe; } .login-card label { font-weight: 500; color: #222; } @media (max-width: 700px) { main { padding-left: 1vw; padding-right: 1vw; } } h1, h2, h3, h4, h5, h6 { color: #222; font-weight: 600; letter-spacing: 0.5px; margin-top: 2em; margin-bottom: 1em; } h1 { font-size: 2.2em; margin-top: 1.5em; } ul { list-style: none; padding: 0; margin: 0 0 2em 0; max-width: 500px; } li { background: #fff; margin-bottom: 1.5em; padding: 1.3em 1.5em; border-radius: 16px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); border: 1px solid #e0e0e0; transition: box-shadow 0.2s, border 0.2s; font-size: 1.05em; display: flex; align-items: center; } li:last-child { margin-bottom: 0; } li:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.09); border: 1px solid #bdbdbd; } button { background: #0071e3; color: #fff; border: none; border-radius: 12px; padding: 0.8em 2.2em; font-size: 1.05em; font-weight: 600; cursor: not-allowed; opacity: 0.7; transition: background 0.2s, opacity 0.2s; box-shadow: 0 2px 8px rgba(0,0,0,0.08); letter-spacing: 0.2px; } button:active { background: #005bb5; } .notice { background: #e8f0fe; color: #0071e3; padding: 0.7em 1.2em; border-radius: 10px; margin: 1.5em 0 0 0; font-weight: 500; border: none; box-shadow: 0 1px 4px rgba(0,0,0,0.04); } .alert { background: #fff0f0; color: #d7263d; padding: 0.7em 1.2em; border-radius: 10px; margin: 1.5em 0 0 0; font-weight: 500; border: none; box-shadow: 0 1px 4px rgba(0,0,0,0.04); } @media (max-width: 600px) { body { font-size: 1em; } ul { max-width: 100%; } li { padding: 1em 0.7em; font-size: 1em; } button { width: 100%; padding: 1em 0; } }